我有以下问题:
- 是否有可能用VS.NET编译C#项目,并在单运行呢?
- 是否有与方法1(VS与单声道编译器编译)相关联的所有性能优势?
- 怎么样在Linux上运行的输出的.exe / .dll? 和什么相关的性能特点?
谢谢
我有以下问题:
谢谢
是的,你可以这么做。 它应该工作,除非该代码使用上未实现的单框架的一些元素。
这并不是说我知道。
不知道之间#3,#1的区别是什么。 如果你指的是使用单声道到Windows上编译,然后将其移植到Linux,它仍然应该工作一样。 两种编译基本上产生相同的IL代码。
1:
是。 编译器编译成IL代码,它运行在任一系统。
不是每个库在单声道实现,但那些应该无缝协作。 此外,该代码已被写入到被影响无关系统的正常工作,例如:
Path.DirectorySeparatorChar
和Path.Combine
形成的,而不是使用字符串文本文件的路径, "\"
或"/"
。 2:
有可能是在什么样的代码编译器产生一些差异,但几乎所有的优化是由JIT编译器应该很少作出任何可测量的差异来完成。
3:
该EXE和DLL文件不包含本机代码,它们包含IL代码。 本机代码由JIT编译器被加载的exe / DLL时生成的。
为了扩大在别人的答案:
对于第3点是会有的性能差异使用MSCLR VS单时,并没有,我不知道它是什么。 也许没有,也许很少或者也许是一个大大快 - 你必须配置您的具体应用。
还要注意,指出,尽管通过JIT编译器使得代码的速度,库将非常不同的方式实现,并几乎肯定都会有不同的性能特点。
如果你打算在Mono下支持你的应用程序,你需要有运行性能测试以及MS CLR。
我不知道性能,但本文试图说明如何编译MonoDevelop的工具下与这应该给你一些想法,以什么样的差异会。