读书人

windows程序移植到LINUX有关问题

发布时间: 2012-04-05 12:42:40 作者: rapoo

windows程序移植到LINUX问题
#define DB_DLLEXPORT extern "C" _declspec(dllexport)

DB_DLLEXPORT int dbnet(int a, int b, int c, const char* FILENAME, int NLEN)
{
if (g_pBsiData == NULL) g_pBsiData = new CBsiDataIO;
return g_pBsiData->OpenSource(a, b, c, FILENAME, NLEN);
}
上面那段代码是在WINDOWS下写的,怎么移植到LINUX下呢?

#define DB_DLLEXPORT extern "C" _declspec(dllexport)这个宏定义在LINUX下要如何写?


[解决办法]
直接编写源文件a.c
extern "C"
{
add (int a,int b)
{
return a+b;
}
}
编译:
gcc -shared a.c -o libAdd.so

[解决办法]
Linux下新版的gcc导出符号一般使用(4.x以后支持)

__attribute__ ((visibility ("default")))
[解决办法]

探讨

Linux下新版的gcc导出符号一般使用(4.x以后支持)

__attribute__ ((visibility ("default")))

读书人网 >C++

热点推荐