C++ Windows下dll的使用

调用dll有两种方式,隐式链接(exe加载时需要)和显示链接(运行时调用)   结论:想将编写的dll文件暴露给外部使用,有三种办法; 1. 使用.def文件 2. 使用__declspec(dllexport) 3. 使用__declspec(dllimport)【推荐】 正确编译代码不需要使用 __declspec(dllimport),但是这样做可以让编译器生成更优质的代码。 编译器能够生成更好的代码,因为它可以确定某个函数是否存在于 DLL 中,这使编译器生成的代码可以跳过在跨越 DLL 边界的函数调用中通常存在的间接级别。 不过,必须使用 __declspec(dllimport) 来导入 DLL 中使用的变量。   官方推荐写法:这样在生成dll的项目中使用的是dllexport,而在使用dll的项目中使用的是dllimport #ifdef MATHLIBRARY_EXPORTS #define MATHLIBRARY_API __declspec(dllexport) #else #define MATHLIBRARY_API __declspec(dllimport) #endif

 

上一篇:C++11 新特性


下一篇:RTTI & decltype & declval