通过使用Mono将C#.NET Framework批量转换为C / C ++ /汇编?

问题描述

这似乎是一个愚蠢的问题,但我不得不问。如果我有一个用C#.NET Framework编写的程序并希望对其进行编译,据我所知,那里有一个IL解释器来处理C#代码,该代码将被重写并用C编译为字节代码以执行。

按照您的理解,无论您使用哪种语言编写,都最终会在Assembly / Byte-code低级内容中执行,否则它将无法运行。

在添加了SDK / Framework的所有内容之后,为什么不能(或者可以?)中断该过程并导出最终代码?

一个优点似乎是,尽管允许您使用高级语言编写代码,但代码仍将以最快的速度执行,您可以消除分发时的框架要求,并且在非开放式环境下,由于代码安全性而不再易于反编译源项目。

第二个优点是对于那些使用C ++编写的人,这将使C ++能够访问添加到其中某些高级语言中的所有方法/函数。例如,为什么不能这样:https://github.com/dotnet/runtime/blob/master/src/libraries/Microsoft.Extensions.Http/src/DefaultHttpClientFactory.cs被Mono转换成C ++或类似的东西?

第三,您可以开始统一所有基于C的语言,例如C ++,C–,C#,Objective-C,BitC,C-shell,csh,D,Java,JavaScript,Go,Rust,Julia,Limbo, LPC,PHP,Python,Perl。

每种语言都可以在其自己的名称空间中,因此您可能会在C#中使用usort()之类的PHP函数来访问PHP->usort($a,"cmp");之类的

似乎,如果存在一个转换过程,其中所有C#或PHP函数最终都在反映其名称间隔的目录结构中结束,那么我们可以使用类似WebPack的JavaScript摇树方法来查找所有引用的函数,仅导出已使用的内容及其依赖项。

对我来说,所有这些用C语言编写的语言都没有意义,这意味着它们的所有功能对我来说都可以解开以便在C语言中执行,也无法以某种自动化方式转换为C语言/智能方式。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...