将c ++对象文件链接到c对象文件

时间:2013-01-29 10:14:19

标签: gcc compilation g++

假设我有一个c ++文件和c文件。为它们创建了目标文件。现在我需要将两者链接到一个可执行文件中。虽然我正在尝试它是关于c ++的错误。任何人都可以帮助我。

2 个答案:

答案 0 :(得分:3)

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

extern "C" int some_function();

这告诉C ++编译器没有mangle名称。

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

答案 1 :(得分:0)

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

第 在同一程序中混合使用C和C ++代码

在这里您可以找到所有需要的信息:

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

#ifdef __cplusplus
extern "C" {

等等......