我有一个C函数,我想从C++调用它.我不能使用"extern "C" void foo()
"的方法,因为使用g++编译C函数失败.但是用GCC就可以很好的编译.你知道如何从C++调用函数吗?
我有一个C函数,我想从C++调用它.我不能使用"extern "C" void foo()
"的方法,因为使用g++编译C函数失败.但是用GCC就可以很好的编译.你知道如何从C++调用函数吗?
编译C代码,如下所示:
gcc -c -o somecode.o somecode.c
然后C++代码如下:
g++ -c -o othercode.o othercode.cpp
然后用C++链接器将它们链接在一起:
g++ -o yourprogram somecode.o othercode.o
当你为C函数包含声明时,你还必须告诉C++编译器C报头正在到来.所以othercode.cpp
开始于:
extern "C" {
#include "somecode.h"
}
somecode.h
应该包含以下内容:
#ifndef SOMECODE_H_
#define SOMECODE_H_
void foo();
#endif