参考:https://blog.csdn.net/yaotuzhi/article/details/108037549
C++工程源码,在其头文件里,经常有__declspec(dllimport)这种形式的语句。不明白其含义,遂查阅资料。
首先要知道,头文件是C++的接口文件,不仅本工程需要使用头文件来进行编译,给其他工程提供dll的时候也要提供此dll的头文件才能让其他人通过编程的方式来使用dll。
注意: 头文件不仅要给自己用,还可能要给别人用。
使用方法: 头文件中声明了方法,在提供者那里方法应该被声明为__declspec(dllexport)
,在使用者那里,方法应该被声明为__declspec(dllimport)
。
比如一个项目中的Class中含有一个静态变量,生成dll的时候只采用了__declspec(dllexport) 如下:
dll工程,A.h:
#define OS_API_EXPORT __declspec(dllexport)
class OS_API_EXPORT A {