使用obj
1.包含头文件
2.工程添加obj
方法一:直接拖到vs
方法二:连接器->输入附加依赖项
注意:如果obj要给C语言使用,函数声明前加extern“C”
静态库(stactic library)
使用lib的步骤
1.包含头文件
2.工程添加lib
方法一:直接拖到vs
方法二:连接器->输入附加依赖项
方法三:使用#pragma comment(lib,“lib名”)
注意:如果obj要给C语言使用,函数声明前加extern“C”
静态库的缺点
1.同一份代码在多个exe中,造成磁盘冗余
2.lib中bug程序更新,程序更新时需要重新编译
动态库(dynamic library)-.dll,.so
原理:库代码事在运行期载入进程,而非在编译器链接入可执行文件
动态库使用步骤
1.包含头文件
2.工程添加lib
方法一:直接拖到vs
方法二:连接器->输入附加依赖项
方法三:使用#pragma comment(lib,“lib名”)
3.将dll拷贝到exe的文件夹下
头文件兼容导出和导入的方法:
#ifdef DLL_EXPORT
#define DLL_INTERFACE__declspec(dllexport)
#else
#define DLL_INTERFACE__declspec(dllimport)
#endif
头文件兼容c和c++的方法:
#ifdef __cplusplus
extern "c"{
#endif
DLL_DLL_INTERFACE 函数
DLL_DLL_INTERFACE 函数
DLL_DLL_INTERFACE 函数
#ifdef __cplusplus
}
#endif
No responses yet