我下载了Ogre3D源代码,发现了这种类声明:
class _OgreExport TimeIndex
{ ...
我知道“TimeIndex”是类名,但是中间的“_OgreExport”是什么? CPP引用不包括这种类声明形式。这是什么?
最佳答案
_OgreExport
是预处理器指令,可扩展为
__declspec(dllimport)
文件包含在其模块之外时
__declspec(dllexport)
除此以外。在Windows下,您必须指定要导出/导入的类/方法,以便可以在二进制文件中使用它们。
从技术上讲,正如James在评论中指出的那样,宏名称是非法的,因为它以下划线开头。这些名称是为实现保留的。