Cad*_*ant 2 c# c++ windows unity-game-engine il2cpp
IL2CPP.exe是一个 Unity 实用程序,用于将 C# IL 代码转换为 C++。我的问题是:这个可执行文件是否可以在Unity 游戏开发环境之外用作通用工具,用于将任何.NET 应用程序(不仅仅是游戏)转换为高性能本机可执行文件?
虽然我确实懂一些C++,但如果能够用我熟悉且流利的语言 (C#)编写各种程序,那就太好了……无论是音频/视频/音乐制作 DAW 还是操作系统级安全/取证工具或机器学习平台或任何其他资源密集型......并且知道它们将像直接用 C++ 编写的应用程序一样高效运行。
基于 @StackHola 更新,可以使用IL2CPP Command Line从 C# 生成 C++ 代码,但这样做可能不会获得任何性能优势,请参阅我的 2021 年长答案。
IL2CPP 与 Unity 环境紧密相连,无法在 Unity 之外使用它。您需要编写自己的转换器(?)来完成这样的事情。
IL2CPP 在性能改进方面没有任何神奇作用。将 C++ 与带有 IL2CPP 代码的 C# 进行比较应该不会带来任何性能优势(几乎 - 下文会详细介绍)。
与专门为 Unity 编写的 C# 代码相比,IL2CPP 的性能更高,原因与 C++ 无关。
为什么 Unity 是独一无二的并且需要 IL2CPP:
那么为什么选择IL2CPP呢?
是否值得将其他 C# 转换为 C++?
不!将 AOT 预编译的任意、优化的 C# 代码与(现代)C++ 进行比较。你应该得到同样的表现!我会说相同。
C# 被编译为 IL(中间语言),顾名思义就是中间语言。它在运行时转换为本机二进制代码(仅在需要时),这就是 C++ 编译成的代码。您可以通过运行提前编译 (AOT) 来跳过 IL 生成来强制进行此转换。
当您滥用 GC 的清理功能时,您的 C# 代码性能唯一会降低。
| 归档时间: |
|
| 查看次数: |
4820 次 |
| 最近记录: |