[转帖]在源代码内有没有一种方法来确定工具版本?
为特定版本(或一组版本)的工具写代码有时是很有用的。
例如使用编译器的新版本支持新的语言结构。
怎么样有可能实现它?
回答:
有一个#define XCC_VERSION_MAJOR支持的开发工具编写代码的特定版本(或一组版本)。
#define指定的工具版本,编译时自动传递给所有的源文件。
格式为AABB,其中AA为主要工具的版本和BB是次要版本。
例如,对于工具12.2 XCC_VERSION_MAJOR的值将是1202。
例如:
//If tools version 12 or later:
#if XCC_VERSION_MAJOR > = 1200
// code specific to tools version 12 or later
#endif
//If any of the 11 tools
#if (XCC_VERSION_MAJOR < 1200 && XCC_VERSION_MAJOR > = 1100)
// code specific to any version 11.x.y
#endif
此外,较小的工具版本也可以是有用的。次要工具的版本是版本的第三个数字。例如,对于工具版本13.0.2,次要工具的版本是2,这是预处理器指令激活代码,如果该工具版本为13.0.2或更后的版本:
#if (XCC_VERSION_MAJOR > = 1300 && XCC_VERSION_MINOR > = 2)
发表时间:2014年8月20日10:48:19