在Xcode构建中运行源文件的自定义预处理步骤

时间:2013-06-29 08:54:30

标签: xcode

作为构建过程的一部分(在Visual Studio中),我使用自定义MSBuild任务来获取所有输入源文件,将它们复制到辅助位置,对它们运行预处理工具,然后将副本提供给MSBuild继续构建过程。我现在正在开发一个iOS项目,我需要能够做同样的事情。自从我使用Xcode以来已经很长时间了,所以我对如何设置构建过程以我刚才描述的方式工作的方式非常生疏。

具体来说,这是我正在进行的预处理:

与许多游戏和引擎一样,通常有许多命名资源,事件,脚本符号,对象状态等,在源代码中表示时需要人类可读,但必须进行完整的字符串比较在运行时会太昂贵。我使用32位StringId整数类型来表示这些值,而不是使用完整的字符串。我的预处理工具运行源代码,并使用该宏内部的字符串的32位散列替换SID('some-named-identifier')形式的宏的所有实例。在开发过程中,程序员和设计人员可以使用任意字符串作为标识符,以满足他们的需要。在运行时,StringId之间的比较是简单的整数比较,因为它们是实际字符串的散列版本,所以在编译的二进制文件中没有可以提取的字符串。

此外,在预处理SID宏时,我使用字符串及其散列值填充MySQL数据库。这允许我在运行时进行反向查找,以便在调试时打印人类可读的字符串。这是一个很棒的系统,我也很乐意让它在Xcode中运行!

提前致谢!

0 个答案:

没有答案