当前位置: 技术问答>linux和unix
谁知道用gcc编译c++的程序是用什么选项去去掉自动给函数添加的前缀和后缀???
来源: 互联网 发布时间:2015-05-23
本文导语: 我是初学linux的,现在用c++编译了一个共享库,然后用其他的程序动态调用共享库的函数时,总是因为c++自动给函数加了前缀,所以找不到函数地址,不知道怎么解决??请各位帮忙?? | 在函数...
我是初学linux的,现在用c++编译了一个共享库,然后用其他的程序动态调用共享库的函数时,总是因为c++自动给函数加了前缀,所以找不到函数地址,不知道怎么解决??请各位帮忙??
|
在函数定义前加extern "C"
|
#ifdef __cplusplus
extern "C"{
#endif
extern "C"{
#endif
|
就是以上两位仁兄说的了,声明为C语言的:)
|
应该这样写才完整:
#ifdef __cplusplus
extern "C"{
#endif
#include "headfile" //其中为你需要使用的C语言的头文件
#ifdef __cplusplus
}
#endif
总之,使用extern "C",使得c++编译器认为是C格式的,不会对他们中的函数采用命名重组,即在函数前前缀。
#ifdef __cplusplus
extern "C"{
#endif
#include "headfile" //其中为你需要使用的C语言的头文件
#ifdef __cplusplus
}
#endif
总之,使用extern "C",使得c++编译器认为是C格式的,不会对他们中的函数采用命名重组,即在函数前前缀。
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。