事例:本来想在fileA.c中调用另外一个文件fileB.c中的函数printmessage,为了明确这种调用与被调用的关系,于是我就在fileA.c中通过#include把fileB.c文件包含进来,但是编译的时候fileB.c中报:
Multiple markers at this line
-syntax error before "..."
-Syntax error
后来在fileA.c中把#include "fileB.c"语句去掉,编译通过
fileA.c
=================================
#include <stdio.h>
#include <stdlib.h>
/*因为调用fileB.c中的printmessage函数,本想把它包含进来,但会报:multiple markers at this line错误,注释后编译通过*/
//#include "fileB.c"
/* printmessage函数在fileB.c中已声明,在fileA.c中还要声明,否则报:implicit declaration of function "printmessage"*/
void printmessage();
void ghellops();
void ghellops() {
printmessage(); //调用
printf("fold aaa.c\n");
}
fileB.c
=================================
#include <stdio.h>
#include <stdlib.h>
void printmessage();
void printmessage() {
printf("fileB.c printmessage\n");
}
以上例子在IDE:
eclipse for c/c++ developers, Version: 3.4.2
Compiler:
MinGW-5.1.4
中调试成功。由于不同平台之间的标准不一样,所以在其它平台比如Dev++, VC可能会有其它问题。
开发环境的搭建请参考:
http://justshare.iteye.com/blog/403104
http://snowolf.iteye.com/blog/401198
还有一个事项非常重要,由于C语言是面向过程的,它没有对象的概念,各个文件之间调用与被调用靠函数来关联,所以
在C工程里是不可以有相同的函数名的,即在一个C工程中所有的函数名都要确保唯一(这项规则还是问过我的一个开发C的同学之后才明白的,在这之前我怎么也想不明白。唉,还是面向对象的思想在作祟啊)。
注:由于一直做JAVA开发,保留了很多面向对象的习惯,突然之间转向C,很不适应呐!
分享到:
相关推荐
使用Eclipse 进行项目开发,在实现类中的方法前面如果添加@Override就提示“Multiple markers at this line”的错误,问题
- **#define定义预定义**:虽然不是Java中的概念,但这里指的可能是C/C++中的宏定义,用于定义常量或者函数等。 - **Abstract抽象的**:用于修饰类或者方法,表明它们不能被实例化,只能作为其他类的基类。 ##### -...
《QML技术在FileExplorer应用中的实践》 在IT领域,QML(Qt Meta Language)是一种强大的用户界面设计语言,由Qt公司开发,主要用于构建高度交互、动态且富有视觉吸引力的图形用户界面。本实例“FileExplorer-...
配置dubbo协议时,报错。缺少dubbo.xsd文件。别人要5积分,我这给你们更低的,只为支持开发工作者。
在Spring框架中,配置文件是核心组件之一,它定义了bean的实例化、依赖注入以及其他的设置。当遇到“cvc-elt.1: 找不到元素 'beans' 的声明”这种异常时,通常意味着Spring在尝试解析XML配置文件时遇到了问题。...
《Map Track Markers VFX v2.11:Unity3D中的动态导航与视觉效果增强》 在游戏开发和虚拟现实应用中,精准的导航和引人入胜的视觉效果至关重要。"Map Track Markers VFX v2.11"是一款专为Unity3D引擎设计的插件,它...
《Leaflet.Canvas-Markers-0.2.0:在地图上绘制高性能的canvas标记》 在Web开发中,地图已经成为一种常见的数据可视化工具,而Leaflet作为一款轻量级的JavaScript库,因其易于使用和强大的功能深受开发者喜爱。本文...
以下是关于`react-amap`、Markers、Circle、ContextMenu以及自定义ContextMenu的详细知识点: 1. **react-amap**: `react-amap`是基于React的高德地图组件库,它将高德地图API的功能转化为React组件,使得开发者...
接受与 LINE 命令相同的输入,附加参数 NUM_MARKERS,指定要绘制的标记数量。 受到 Ioannis Filippidis 的第一个回答的启发http://www.mathworks.com/matlabcentral/answers/2165-too-many-markers
在本文中,作者介绍了心肌灌注SPECT(Myocardial Perfusion Single Photon Emission Computed Tomography)在冠状动脉疾病(Coronary Artery Disease,CAD)的诊断、风险分层和预后评估中的重要性。...
然而,对于新手或不熟悉API的开发者来说,直接使用Google Maps API处理大量markers(地图上的标记)可能会显得复杂和繁琐。这就是`easymap`库的用武之地。 `easymap`是一个专门设计用来简化Google Maps API中添加和...
uni-app 中 markers 中 iconPath 如何使用网络地址 在 uni-app 中,markers 是一种常见的 UI 组件,用于在地图上标记特定的位置。然而,在使用 markers 时,'iconPath' 属性的设置可能会遇到一些问题,例如如何使用...
本篇文章主要关注的是OpenLayers的一个重要特性——如何扩展其功能,特别是在添加标记(Markers)图层方面。 在OpenLayers中,标记图层主要用于在地图上显示点状地理数据,例如兴趣点(POI)或特定位置。通过自定义...
资源来自pypi官网。 资源全名:pytest_markers_presence-0.6.3-py2.py3-none-any.whl
资源来自pypi官网。 资源全名:pytest_markers_presence-0.4.0-py2.py3-none-any.whl
openlayers 添加标注 markers 怎么给Google地图添加标注
在这种情况下,"Markers"指的是地图上的图标或点状标记,它们用于表示特定地理位置。JavaScript库,如OpenLayers、Leaflet或Google Maps API,提供了方便的方法来在地图上创建和管理这些标记。 首先,让我们深入...
"视频+时间轴标记,videojs+markers"是一个关于如何利用开源JavaScript库video.js与markers插件来增强视频播放体验的主题。video.js是一个强大的HTML5视频播放器,而markers插件则允许在视频时间轴上添加自定义标记...
canvas-markers库利用了这一点,将地图标记的渲染过程从DOM移至画布,从而提高了性能并减少了页面重绘带来的开销。 二、canvas-markers库的特性 1. 性能提升:由于画布标记避免了在DOM中频繁添加和更新元素,因此在...
安装从 npm 安装: npm i leaflet-markers-canvas 或下载例子 var map = L . map ( "map" ) . setView ( [ 59.9578 , 30.2987 ] , 10 ) ;var tiles = L . tileLayer ( "http://{s}.tile.osm.org/{z}/{x}/{y}.png" , ...