我正在考虑访问Unity3d的本机API,并可能创建一个包装库,以方便人类使用。为此,我目前正在尝试弄清楚在使用IL2CPP标志的构建期间将Unity项目转换为XCode项目时究竟发生了什么。
我想知道IL2CPP将IL转换为c ++时的确切过程是什么,为什么项目仍然包含DLL,并且最终编译过程有什么特别之处,例如:神奇的发生在哪里?
欢迎任何有关所述目标(Unity3d c ++ API)可行性的见解和意见。
PS: 我知道这样的API至少可以说是hackish,我确实理解,除了Unity3d之外还有其他技术允许c ++用作一等公民,即虚幻引擎。这个问题首先是理论上的问题。那,我也喜欢c ++:)
答案 0 :(得分:2)
不,IL2CPP脚本后端没有任何内容从Unity公开新的原生API。
实际上,这里确实没有太多的魔法。工具链就是这样的。使用Mono脚本后端和IL2CPP脚本后端ouptut与Xcode for iOS之间的唯一区别是Xcode项目中包含哪些文件。对于IL2CPP,包含了所有生成的C ++文件。
无论您使用哪种脚本后端,Unity的API都保持不变。