理解cocos2dx中的定义函数

understanding define functions in cocos2dx

本文关键字:定义 函数 cocos2dx 理解      更新时间:2023-10-16

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

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

我找到了CC_DLL:的定义

#define CC_DLL

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

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

其目的是允许添加编译器/环境特定的属性和类似属性。例如,在MS编译器中,您希望__declspec(dllimport)引用函数,__declspec(dllexport)定义函数。在gcc中,您应该使用__attribute__((dllexport))。但是,如果您最初不是为Windows构建的,那么您可能需要例如gcc可见性属性,__attribute__((visibility("default"))可能是这些函数所需要的。

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

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