c++编译器与函数声明检查

hbt19860104 2010-09-28 03:41:15
大家好,
我现在手头上有个是c语言写的程序,项目需要,我想把它改成c++的。不知道为什么,它原来写的程序函数都没有先声明后再使用。比如说,pubFunc.c里面可能有个函数void testFun(){},通常情况下我们会定义一个头文件pubFunc.h,并声明函数void testFun();然后在调用这个函数的c文件里include "pubFunc.h" 。但奇怪的是它没有这个头文件,这个函数在被调用的地方也没有声明,但奇怪的是能正常编译运行。我把c代码文件全部直接改成.cpp,并修改了相应的makefile后,发现就编译不过了,报的错都是那些函数 did not find a declaration。
在此,向各位大侠求救,能不能通过设置什么编译器选项,把它的函数声明检查去除掉。
先谢过!
...全文
143 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
mymtom 2010-09-28
  • 打赏
  • 举报
回复
用cproto自动产生函数原型,放到头文件里,然后包含这个头文件即可。
bobbypapa 2010-09-28
  • 打赏
  • 举报
回复
.c文件里面实现了的c函数不用声明就可以用了吧?
将.c换成.cpp文件后,编译器变成了g++,要想继续用gcc来编译.cpp里面的c代码,可以用以下方法封装:
extern "C"{
//你的c代码;
}
编译器在cpp文件中遇到以上代码就会改用gcc编译。。。你试试看
tanhaid2778 2010-09-28
  • 打赏
  • 举报
回复
不错,不错

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧