linux 下 C C++能混用嘛 一个工程里。

yellowzzp 2010-08-27 02:16:25
有一个挺大的工程 本来都是.c 需要改里面一个文件的实现过程。
我想用stl 所以该文件得改.cpp吧?

这样整体编译的时候有影响嘛?

hello:main.o mysum.o
g++ -o hello main.o mysum.o
main:main.c
g++ -c main.c

mysum:mysum.cpp
g++ -c mysum.cpp

我按这个makefile测试下了没问题

小弟 linux 新手。。。之前是windows程序员。

或者所有的.c 都改成cpp?
...全文
192 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
happynwt 2010-08-31
  • 打赏
  • 举报
回复
可以,但都会按C++工程编译,支持重载。
youdaping777 2010-08-31
  • 打赏
  • 举报
回复
任何一个编译器都可以C和C++,同时兼容。
rosixer 2010-08-29
  • 打赏
  • 举报
回复
有些编译器检测源文件的扩展名,如在makefile文件中通常会写每种扩展名的编译规则;
但真正编译通过,还在于源代码,如C++编写的源代码必须用G++编译;
至于extern,是在C++出现后,为了兼容C语言而设置的,告诉编译器库函数的调用方式
ayw215 2010-08-28
  • 打赏
  • 举报
回复
可以
注意用extern即可
kostion 2010-08-28
  • 打赏
  • 举报
回复
c++ 包含c代码, extern c, c调用C++函数,在cpp中的函数最好定义为 std call
奋斗小青年 2010-08-27
  • 打赏
  • 举报
回复
没有做不到只有想不到
yellowzzp 2010-08-27
  • 打赏
  • 举报
回复
多谢大家了~~刚才试了下。确实可以。

不过都没用 extern C ...
bobo364 2010-08-27
  • 打赏
  • 举报
回复
原来是可以的,mark下
昵称很不好取 2010-08-27
  • 打赏
  • 举报
回复
可以,想一下 extern C 就明白了
goodluckyxl 2010-08-27
  • 打赏
  • 举报
回复
当然可以啊 很多开源代码都是混用的哇
bingshanzhiling 2010-08-27
  • 打赏
  • 举报
回复
编译成.o了就应该木有问题了吧
jessiefn 2010-08-27
  • 打赏
  • 举报
回复
可以混搭,你使用的是同一个编译器
yuyoucuobei 2010-08-27
  • 打赏
  • 举报
回复
g++编译就是链接的C++的库 与.c还是.cpp没关系吧
  • 打赏
  • 举报
回复
当然可以了

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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