C++ 用C+编译C共享对象+;文件夹

C++ 用C+编译C共享对象+;文件夹,c++,c,gcc,compilation,g++,C++,C,Gcc,Compilation,G++,我有一个C共享对象(.so文件),我只能使用gcc编译它,因为它只使用C函数,比如strcpy_ 我有一个C++代码,里面包含一些C++库。 P>是否可以用GCC编译我的共享对象,我的代码可以和G++一起使用?< /P> < P>当然,你可以用你的共享C库来链接L/St>你的C++程序。只需通过在C库的头文件中添加“代码>外部”C“{…} /代码>”,告诉C++编译器,该库中的函数具有C链接: 共享_c_lib.h 并没有什么阻止C运行时库函数(如命名的StrucPys)在C++中使用。它可能

我有一个C共享对象(.so文件),我只能使用gcc编译它,因为它只使用C函数,比如strcpy_

我有一个C++代码,里面包含一些C++库。


<> P>是否可以用GCC编译我的共享对象,我的代码可以和G++一起使用?< /P> < P>当然,你可以用你的共享C库来<强>链接L/St>你的C++程序。只需通过在C库的头文件中添加“代码>外部”C“{…} /代码>”,告诉C++编译器,该库中的函数具有C链接:

共享_c_lib.h


并没有什么阻止C运行时库函数(如命名的StrucPys)在C++中使用。它可能会与当地的编码准则相冲突,但在该语言中肯定是合法的。
#ifdef __cplusplus
extern "C" {
#endif

// all your C functions declarations/prototypes

#ifdef __cplusplus
} // extern "C"
#endif