C语言问题 关于implicit declaration of function
来源:互联网 发布:软件开发咨询 编辑:程序博客网 时间:2024/06/05 17:52
问题描述:在linux中用gcc编译三个文件:
$gcc linktable.c menu.c test.c -o menu -lm
产生警告:
test.c: In function ‘main’:test.c:20:2: warning: implicit declaration of function ‘MenuConfig’ [-Wimplicit-function-declaration] MenuConfig(cmd1, desc1, NULL); ^test.c:43:2: warning: implicit declaration of function ‘ExecuteMenu’ [-Wimplicit-function-declaration] ExecuteMenu(); ^
有两种情况会产生这种警告
- 没有把函数所在的c文件生成.o目标文件
- 在函数所在的c文件中定义了,但是没有在与之相关联的.h文件中声明
检查代码,发现test.c中的main函数调用了menu.c中的MenuConfig和ExecuteMenu函数,他们的原型在menu.h中定义:
int MenuConfig(char* cmd, char* desc, int (*handler)());int ExecuteMenu();
然而在test.c中却没有将menu.h包含进来,于是发生警告.好在编译器还是很智能的,即使没有#include这个头文件,还是能正常编译链接生成可执行文件.
https://zhidao.baidu.com/question/521511551.html
阅读全文
0 0
- C语言问题 关于implicit declaration of function
- C 语言 implicit declaration of function 错误原因
- 关于C语言中Implicit declaration of function ‘XXXX’ is invalid in C99警告
- C系列: 关于implicit declaration of function的warning
- 关于 warning: implicit declaration of function ‘****’
- 关于 implicit declaration of function 一点经验之谈
- implicit declaration of function
- implicit declaration of function
- implicit declaration of function
- 关于implicit function declaration问题的解决
- implicit declaration of function abs
- implicit declaration of function 'class_device_create'
- error: implicit declaration of function '********'
- implicit declaration of function ‘br_port_exists’
- implicit declaration of function ‘luaL_register’
- implicit declaration of function "class_device_create"
- implicit declaration of function 'i2c_transfer'
- implicit declaration of function 'init_MUTEX'
- Linux之线程的创建、等待、终止及分离
- ES 其他公司使用参考
- 三、数据库连接池
- [LeetCode] Partition Equal Subset Sum划分数组形成两个和相等的子集
- zookeeper安装
- C语言问题 关于implicit declaration of function
- 2017World Final 签到题
- IMWeb提升营Day6 | 训练题33:丑数
- [范例]从正在运行的Linux进程中dump出内存内容
- Flowchart
- PDF生成方案之iText
- 微信小程序开发官方文档
- 根据函数System.currentTimeMillis()返回的毫秒数得到日期
- IMWeb提升营Day6 | 训练题34:第一个只出现一次的字符