概述
__declspec是微软特有(Microsoft Specific)的关键字,用于指定存储类(storage-class)相关属性的『扩展属性语句』就要用到它。『扩展属性语句』指定“给定类型”的实例(instance of a given type)运用下表中(微软特有存储类属性表)某种属性进行存储。__declspec的作用很类似于关键字static或extern,都用来修饰实例的某种存储属性。然而,虽然这两个关键字是C/C++ ANSI规范的一部分,但是它俩却不属于『扩展属性语句』。实际上,『扩展属性语句』只是简化并标准化了微软平台对C/C++语言的扩展,它并不是C/C++ ANSI规范。
用法
__declspec(扩展声明修饰词序列)
这个序列可以只包含一个修饰词,也可以包含多个。
微软特有存储类属性表
align(#)
allocate("segname")
appdomain
deprecated
dllimport
dllexport
jitintrinsic
naked
noalias
noinline
noreturn
nothrow
novtable
process
property({get=get_func_name|,put=put_func_name})
restrict
selectany
thread
uuid("ComObjectGUID")
上面各个属性的作用以及例子代码,可以针对性地Google一下。