首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linderdaum引擎中奇怪的多个类名

Linderdaum引擎中奇怪的多个类名
EN

Stack Overflow用户
提问于 2012-07-24 16:00:57
回答 2查看 109关注 0票数 3

我正在尝试使用Linderdaum引擎,发现有很多奇怪的声明,比如:

iObject类脚本最终网络可导出ClassName:公共脚本

这些奇怪的名字scriptfinalnetexportable都是宏。但是它们被定义为空的。为什么有人需要这样的定义?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-24 17:46:37

它们是空的,所以C++编译器不会关心它们。

Linderdaum引擎对C++源代码进行预处理,以便生成关于类的元信息。

这些宏最有可能被它们的预处理器用来为它们的脚本语言(scriptfinal)和.NET序列化代码(netexportable)生成信息。

票数 3
EN

Stack Overflow用户

发布于 2012-07-24 16:04:47

例如,有人可能会将scriptfinal宏设置为:

代码语言:javascript
复制
#define scriptfinal __declspec(dllimport)

要获得以下信息:

代码语言:javascript
复制
class __declspec(dllimport) ClassName: public iObject {};

由于__declspec是微软特定的扩展,因此通常在可移植代码中用于宏扩展。在Linux环境下编译时,宏是空的,因此__declspec对于编译器是不可见的,而在Windows下,它们将按照上面的方式定义。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11626575

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档