gcc - 将c++目标文件链接到c目标文件

标签 gcc compilation g++

<分区>

假设我有一个c++文件和一个c文件。为它们创建了目标文件。现在我需要将两者链接到一个可执行文件中。在我尝试时,它给出了有关 C++ 的错误。谁能帮我解决这个问题。

最佳答案

首先,从 C 文件调用的 C++ 文件中的所有函数都必须标记为 extern "C":

extern "C" int some_function();

这告诉 C++ 编译器不是 mangle名字。

继续,在 C 源代码中,您当然不能使用任何 C++ 功能,例如类、 namespace 、引用和其他 C++ 特定功能。

关于gcc - 将c++目标文件链接到c目标文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14580446/

相关文章:

c - 禁用 SSE 的 SSE 寄存器返回

c++ - 为什么 Boost 和其他库(如 Folly)的某些部分在 detail 子文件夹中?

opencv - 如何使用 catkin 将 OpenCV 3.4.5 dnn 模块与自定义 cv_bridge 链接?错误:未定义的引用 cv::dnn:experimental_dnn_v2::Net::Net()

python-2.7 - py_compile 与导入中的编码

c++ - 使用 GDB 在 main() 之前调试错误

gcc - 弱属性是否仅适用于 Linux GCC 中的共享库?

c - 如何使用ThrowTheSwitch的Unity C单元测试库?

c++ - AIX 服务器中的 g++ 编译 - 抛出核心转储

c++ - 配置OpenWrt进行socket编程的问题

c++ - 使用 lambda 的可变参数模板 : error with g++ but running with clang++