jam*_*o00 3 .net c# linux mono performance
我有以下问题:
谢谢
是的,你可以这样做.它应该工作,除非代码使用一些未在mono上实现的框架元素.
不是我知道的.
不确定#3和#1之间的区别是什么.如果你指的是在Windows上使用mono进行编译,然后将其移植到linux,它应该仍然可以正常工作.两个编译器生成基本相同的IL代码.
1:
是的.编译器编译成IL代码,在任一系统中运行.
并非每个库都在Mono中实现,但那些库应该无缝地工作.此外,必须将代码编写为独立于系统才能正常工作,例如:
Path.DirectorySeparatorChar和Path.Combine形成文件路径,而不是使用字符串文字"\"或"/".2:
编译器生成的代码可能存在一些差异,但几乎所有优化都是由JIT编译器完成的,而JIT编译器很少会产生任何可衡量的差异.
3:
exe和dll文件不包含本机代码,它们包含IL代码.加载exe/dll时,本机代码由JIT编译器生成.