理解在cocos2dx中定义函数

时间:2014-04-11 08:04:16

标签: c++ cocos2d-x

我正在阅读cocos2d-x代码,我发现:

int CC_DLL gettimeofday(struct timeval *, struct timezone *);

我找到了CC_DLL的定义:

#define CC_DLL

这里什么都没有!那么这个CC_DLL有什么意义呢?

1 个答案:

答案 0 :(得分:1)

这些类型的构造确实出现在为不同平台的共享库(也就是DLL)中使用而构建的代码中。

目的是允许添加编译器/环境特定属性等。例如,在MS编译器中,您希望引用函数的__declspec(dllimport)和定义函数的__declspec(dllexport)。在gcc中,您可以使用__attribute__((dllexport))代替。但是,如果您不是首先为Windows构建,则可能需要例如gcc可见性属性,__attribute__((visibility("default"))可能是您想要的这些功能。

在这种情况下,您的编译器和环境似乎不需要这样的东西"。

这显示了gcc的一些内容: http://gcc.gnu.org/wiki/Visibility