__declspec()关键字的几种用法

来源:互联网 发布:遥控器怎样调网络电视 编辑:程序博客网 时间:2024/06/05 03:45

1 __declspec(selectany) 的作用是什么

  在MFC,ATL的源代码中充斥着__declspec(selectany)   的声明。selectany可以让我们在.h文件中初始化一个全局变量而不是只能放在.cpp中。比如有一个类,其中有一个静态变量,那么我们可以在.h 中通过类似"   __declspec(selectany)   type   class::variable   =   value;   "这样的代码来初始化这个全局变量。既是该.h被多次include,链接器也会为我们剔除多重定义的错误。这个有什么好处呢,我觉得对于 teamplate的编程会有很多便利。

2 __declspec关键字,它可以传入dllimport及dllexport两个参数,用来分别代表输入函式及输出函式。
比如在生成DLL 文件的时候,就要定义这个关键字,表明接口是导入还是导出、其中__declspec(dllimport)是导入,__declspec(dllexport)是导出。