本文译自Unity/docs/UnityConfigurationGuide.md,以及自己使用的总结。
Unity的官网:ThrowTheSwitch.org。
获取最新版本的Unity,可以访问:ThrowTheSwitch/Unity。
一、C标准/编译器/微控制器
嵌入式软件世界拥有自己的挑战。编译器支持不同修订版本的C标准。有时为了让语言在某些特殊方面更有用,他们忽略了一些要求。有时为了简化它们的支持,有时是由于他们目标微控制器的特殊性。模拟器的加入,使得事情更加复杂。
Unity被设计为可运行在几乎任何由C编译器支持的东西上。要是能够在零配置下完成这个目标,那就太棒了。尽管在有些目标上已经实现了这一梦想,但这并不普遍,你可能需要修改本文中提及的至少一两个配置项来实现这一梦想。
所有的Unity配置选项都是‘#defines’定义的,并且大部分都是简单的宏定义,只有少数是带有参数的宏。它们被组织在头文件unity_internals.h中。除非你真的需要,否则不必打开这个文件。这个文件证明了构建跨平台库是具有挑战性的;同时,它也证明了将大量复杂性的代码集中在一个地方,可以保持其他地方代码的一致性和简单性。
使用这些选项
不管你使用的是本地编译器、目标平台的编译器还是模拟器,你都有如下两个选择来配置这些选项:
- 因为这些选项都是通过C宏定义实现的,所以你可以通过命令行参数的方式,把大部分选项传递给你的编译器。即使你在使用一个只能使用集成