[求助]求助 求助哦~~~
编译后出现warning: implicit declaration of funtion "xxx"
我之前定义了宏 #define XX xxx
程序能运行 但是想去掉这个 警告
该怎么弄啊
是不是 要声明下啊
该怎么声明啊 要全局都可用的
谢谢各位 help
----------------解决方案--------------------------------------------------------
其他函数调用xxx函数前声明之。声明的时候 return-type XX(parameter -list);试试
----------------解决方案--------------------------------------------------------
不行 +了 反而出现错误...
程序是在linux下的c语言写的
平时定义的宏 好像都不说要声明什么的啊... ...
那个xxx的程序 是写在别的地方的 用头文件include的了
不知道为什么
----------------解决方案--------------------------------------------------------
不是 也没有在头文件里include
只是define 了 下 不知道怎么联系的
[此贴子已经被作者于2005-9-19 15:49:08编辑过]
----------------解决方案--------------------------------------------------------
宏不用声明,但是函数要声明呀。
----------------解决方案--------------------------------------------------------
如何声明呢 比如有个函数 int abc_printf(xxxx) 写在abc.c里
abc.h里有说明
我在别的地方 #define abc abc_printf
使用 abc(xxx)可以 使用
但是有那个警告
还有 我问下 .h文件 就是头文件 最上边的 那行#define ........... 是用 来做什么的 声明么?
还仅仅是注释说明性质的
----------------解决方案--------------------------------------------------------
你要把函数的定义文件包含进来。
.h文件的#define那一行的具体内容是什么?一般都会放一些防止重复包含的量
----------------解决方案--------------------------------------------------------
恩 不错
包含了头文件
然后 定义了宏就可以了
#define _MAINMENU_H
是不是就是说明性质的呢?
----------------解决方案--------------------------------------------------------
对了 在一个工程里边是不是不包含头文件 也不影响编译呢
我在这个工程里边 发现 很多程序开始并没有包含一些头文件,就直接使用了那些函数
结果仍然可以运行
----------------解决方案--------------------------------------------------------
不管包不包含头文件,程序要运行就必须遵循C的规则,比如变量必须先声明然后再用,函数在使用前必须声明或者直接有函数的实现。当然,如果你的编译器特殊的话,一些函数是可以不用包含头文件而直接调用的,但是建议你遵守C的规则
----------------解决方案--------------------------------------------------------