当前位置: 技术问答>linux和unix
关于linux下生成so文件的问题,请教高手
来源: 互联网 发布时间:2016-02-28
本文导语: 我编写一个c程序,里面有个函数名称为test,然后用gcc编译生成so文件,然后查看so里的函数名称,发现没有被改变,属于正常行为。但我编写了一个cpp文件,里面有个函数名称为test,然后用g++编译生成so文件,然后查...
我编写一个c程序,里面有个函数名称为test,然后用gcc编译生成so文件,然后查看so里的函数名称,发现没有被改变,属于正常行为。但我编写了一个cpp文件,里面有个函数名称为test,然后用g++编译生成so文件,然后查看so里的函数名称,发现函数命被改成了test__Fi,如果cpp里涉及一些类的定义,还有可能被改成test__Fv,不知道大家有没有碰到过类似的问题,希望高手能指点一下,谢谢。
|
让编译器不改变函数的名称
google extern "C"
#ifdef __cplusplus
extern "C" {
#endif
//一段代码
#ifdef __cplusplus
}
#endif
google extern "C"
#ifdef __cplusplus
extern "C" {
#endif
//一段代码
#ifdef __cplusplus
}
#endif