序章:一座双语城市的故事
想象一座奇特的城市。
这座城市被一条大河分成两半。河东住着\”C#居民\”——他们说C#语,性格温和,有垃圾回收员帮他们打扫卫生,生活安逸。河西住着\”C++居民\”——他们说C++语,性格彪悍,自己管理内存,掌控着城市的发电厂、供水系统和所有基础设施。
问题来了:河东的居民需要用电、用水,但发电厂在河西。
他们需要一座桥。
但这不是普通的桥——桥上需要有翻译官,把河东居民的C#请求翻译成河西居民能理解的C++指令,再把C++的结果翻译回C#。
手工建桥太慢了。Unity引擎有几千个API,每个API都需要一座桥。如果每座桥都手工建造,工程量是天文数字,而且一旦河西的工厂改了接口,所有桥都要手动修改。
所以Unity建造了一台自动造桥机。
这台机器,就是BindingsGenerator。
你只需要在河东岸边立一块牌子(Attribute标记),写上\”我要连接河西的XX工厂\”,造桥机就会自动建造一座完美的桥,配备翻译官、安检站和应急通道。
第一章:BindingsGenerator的身份——“它到底是什么?”
BindingsGenerator是Unity引擎编译管线中的一个代码生成工具。它在编译时运行(不是运行时),读取C#源码中的特殊标记,自动生成C#和C++之间的胶水代码。
BindingsG




