我们有一个c项目,想把一个c++项目合并到这个c项目中,编译成一个二进制文件,可以吗?
有点像
cproject/src/
cproject/src/a.h
cproject/src/a.c
cproject/src/b.h
cproject/src/b.c
cproject/src/main.c
添加cpp项目
cproject/cppproject/src/c.h
cproject/cppproject/src/c.cpp
cproject/cppproject/src/m.h
cproject/cppproject/src/m.cpp
也许将 cpp 编译为分片库并链接它?
最佳答案
是的,你可以。你说你有一个 C 项目和另一个 C++ 项目。 但是你解决的方式(“分片库并链接它?”)是另一回事。
正如其他人所说,您可以:
1) 混合使用 C 和 C++(小心使用 extern "C" )
2) 创建一个带有子项目的项目(在 Xcode for Mac 中是将项目添加到现有项目的标准做法
3) 确保只有一个main()
4) 你想做一个外部库,不需要混合它们,但是如果你没有经验,公开方法、管理包含和链接选项以及传递参数可能会有点复杂。
库和 DLL 与普通的“main()”程序有很大不同。
关于c++ - 是否可以编译 c/c++ 混合源代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45363546/