windows上动态库需要指定导出的函数,有两种方式可以采纳
1、通过__declspec
cpp
#ifdef _WIN32
#define DLL_EXPORT __declspec(dllexport)
#else
#define DLL_EXPORT
#endif
DLL_EXPORT int read_file(const char *filename);
2、通过.def文件
.h文件
cpp
int read_file(const char *filename);
.def文件
cpp
LIBRARY Test
EXPORTS
read_file
.def文件函数别名 可以将内部的函数隐藏改个别的名字导出
cpp
LIBRARY Test
EXPORTS
read=read_file
编译指令:
bash
gcc -shared -o Test.dll test.c test.def