3

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

4

2 回答 2

3

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

extern "C" int some_function();

这告诉 C++ 编译器不要破坏名称。

要继续,您当然不能从 C 源代码使用任何 C++ 功能,例如类、命名空间、引用和其他 C++ 特定功能。

于 2013-01-29T10:18:11.430 回答
0

看看这个页面:http ://dsc.sun.com/solaris/articles/mixing.html

文章在同一程序中混合 C 和 C++ 代码

在这里,您将找到所有需要的信息,例如:

extern "C" 
{
    #include "header.h"
}

#ifdef __cplusplus
extern "C" {

这么久...

于 2013-01-29T10:21:20.190 回答