0

所以我正在查看 Ogre Character 示例,并且有一个类被声明为

class _OgreSampleClassExport Sample_Character : public SdkSample

类标识符是 Sample_Character,它派生自 SdkSample 类。_OgreSampleClassExport 是什么?

4

2 回答 2

3

在 Windows 平台上_OgreSampleClassExport是一个用于指定类成员的 DLL 链接的宏。如果宏扩展为__declspec(dllimport)成员存在于外部 DLL 中且必须导入。如果它扩展到__declspec(dllexport)正在构建的 DLL 中存在的成员,将被导出。如果宏为空,则成员将被静态链接,并且不会在 DLL 中退出。

在其他平台上,它的工作方式大致相同。在 Linux 上,使用 GCC 编译时,宏会扩展为__attribute__ ((visibility("???")))“???” 以与 to 中使用的方式类似的方式指定链接__declspec()

于 2013-05-21T21:37:22.337 回答
1

这篇文章似乎相关 - 类关键字后的宏变量

本质上,它允许导出类以支持动态链接库。

于 2013-05-21T21:35:43.743 回答