类声明

时间:2013-05-21 21:32:51

标签: c++ class

所以我正在看Ogre Character样本,并且有一个声明为

的类
class _OgreSampleClassExport Sample_Character : public SdkSample

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

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:1)

此帖似乎相关 - Macro variable after class keyword

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