当前位置: 技术问答>linux和unix
关于linux下动态链接库导出函数的问题。
来源: 互联网 发布时间:2016-12-09
本文导语: 我是刚接触Linux的。耐心求教~ windows下VC dll一般有一个导出函数的声明,extern "C" __declspec(dllexport) 这样我获取函数指针的时候就可以知道函数的参数,返回值等。 在Linux下有这个机制么。我看的例子里面直接 voi...
我是刚接触Linux的。耐心求教~
windows下VC dll一般有一个导出函数的声明,extern "C" __declspec(dllexport)
这样我获取函数指针的时候就可以知道函数的参数,返回值等。
在Linux下有这个机制么。我看的例子里面直接
void (*func)(char*);
func=dlsym(slib,"func");
有没有导出函数声明的一个机制啊
新人,分太少了,还请各位谅解
windows下VC dll一般有一个导出函数的声明,extern "C" __declspec(dllexport)
这样我获取函数指针的时候就可以知道函数的参数,返回值等。
在Linux下有这个机制么。我看的例子里面直接
void (*func)(char*);
func=dlsym(slib,"func");
有没有导出函数声明的一个机制啊
新人,分太少了,还请各位谅解
|
有啊
__declspec(dllexport)
__attribute__((dllexport))
再者,ld可以把所有符号都export,如果ld加了这个选项,那么你没有dllexport也能访问
__declspec(dllexport)
__attribute__((dllexport))
再者,ld可以把所有符号都export,如果ld加了这个选项,那么你没有dllexport也能访问
|
Linux不需要有专门的导出符号,只需要库文件和头文件就是了。
但是 extern "C"还是有时候会用的。这个主要涉及到C接口用给给C++使用和C++接口给C使用。
但是 extern "C"还是有时候会用的。这个主要涉及到C接口用给给C++使用和C++接口给C使用。