[C++] 什么是__declspec,我什么时候需要使用它?


Answers

规范示例是__declspec(dllimport)__declspec(dllexport) ,它指示链接程序从DLL或从DLL导入和导出(分别)符号。

// header
__declspec(dllimport) void foo();


// code - this calls foo() somewhere in a DLL
foo();

__declspec(..)只是包装了微软的具体内容 - 为了达到兼容性,通常会用宏来包装它)

Question

我在我正在阅读的代码中看到__declspec的实例。 它是什么? 何时我需要使用这个构造?




另一个例子来说明__declspec关键字:

在编写Windows内核驱动程序时,有时需要使用内联汇编程序代码编写自己的序言/ epilog代码序列,因此可以使用naked属性声明您的函数。

__declspec( naked ) int func( formal_parameters ) {}

要么

#define Naked __declspec( naked )
Naked int func( formal_parameters ) {}

请参阅裸体(C ++)





Tags