Windows编译动态库时选择是否同时导出静态库
来源:互联网 发布:360压缩mac版 编辑:程序博客网 时间:2024/06/09 20:03
如果只是单纯的编译静态库,最后生成的文件就是一个静态库lib,但是如果编译动态库的话可以选择是否同时导出静态库,有静态库的话编程也方便一点,只要在要导出的函数前面加上__declspec(dllexport)或者extern “C”即可。
如果头文件为了通用,不仅一个平台使用,可以用宏隔开
#ifdef MY_EXPORT
#define MY_FUNC_API extern "C" __declspec(dllexport)
#else
#define MY_FUNC_API
#endif
然后使用的时候在windows工程里面的文件中定义MY_EXPORT就可以了,不过最好在工程属性-->C/C++-->Preprocessor的Preprocess define中添加
如果是第三方的动态库可能就没有静态库,这个时候要用
HMODULE module = LoadLibrary("dllnamedll"); //dllname为动态库的名称
typedef int (WINAPI *functype)(int); //functype为函数指针,有自己的参数列表
functype fun = (functype)GetProcAddress(module, "functionname"); //function那么为要导出的函数名,如果想要函数名好记,最好用c的方式导出函数
func(1); //func为导出的函数指针,可以直接运行
0 0
- Windows编译动态库时选择是否同时导出静态库
- linux编译同时链接静态和动态库
- 编译OpenSSL 动态库/静态库以及运行时库的选择
- 编译OpenSSL 动态库/静态库以及运行时库的选择
- 编译OpenSSL 动态库/静态库以及运行时库的选择
- 编译OpenSSL 动态库/静态库以及运行时库的选择
- 编译OpenSSL 动态库/静态库以及运行时库的选择
- gcc同时连接静态和动态库
- windows ffmpeg 编译 动态库 静态库 总结
- GCC中同时使用动态和静态库链接的编译
- 静态编译,动态编译,静态链接库,动态链接库
- 静态库 动态库 编译
- 同时能在Win32和Linux下编译的动态链接库(dll、so)导出类示例
- libenevt -windows编译静态库
- 动态库和静态库的导出
- 动态链接库的静态导入导出
- 静态动态库,导出类的方法
- 静态链接库与动态链接库导出函数详解(Windows)
- ANSI,UTF-8,Unicode,ASCII编码的区别
- Divide Two Integers
- Android HandlerThread 源码分析
- 053第449题
- 不同分辨率的LCM进行兼容
- Windows编译动态库时选择是否同时导出静态库
- 关于接口概念和网站访问并发性问题记录
- c_分支结构
- hibernate中的个get()和load()的区别
- Linux下JavaEE环境的搭建(jdk,Tomcat,eclipse)
- 【西祠日志】【02】
- 关于递归调用,函数指针,数组,字符串的一些理解
- c_循环结构
- spring 配置Spring对Cache的支持