ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
##没有躲过的坑--重定义关键字 从学习编程语言开始,我们就知道变量或是函数的命名不能使用系统的关键字。 但是有时候,你不得不这么做。 比如mac、ios、Android、windows共用一个底层代码,这样为了使底层更加通用,有时候就会忽略某种语言的某个关键字。 也许关键字A对于win32就是一个系统关键字,而A不是objective-c的关键字。 这个时候为了保证代码的通用性,就需要重定义关键字,也就是所说的屏蔽掉系统关键字。 比如对于win32平台,需要屏蔽系统的某个关键字,你就可以这样做: ~~~ #if PLATFORM == WIN32 #undef ERROR #endif enum Type { CHAT = 0, ERROR, UNKNOWN, }; ~~~ 而上诉代码的第一行,使用的是预编译头。这样就很好的屏蔽了系统的关键字ERROR,而ERROR成为了你定义的枚举类型。