是呀,更本没有这样的方法和命令,不然干吗部署.NET程序的时候要安装FrameWork.
就是这个道理呀。所有.NET程序都被编译成中间语言,运行时才被FrameWork转译成及其码。

解决方案 »

  1.   

    但JIT编译器最终还是要将其编译成机器代码。我想知道JIT是否提供了一个公共的接口来实现我样的功能。
      

  2.   

    那是安装时编译,省得运行时再编译
    不过一样少不了.NET Framework的支持
      

  3.   

    可以生成本机映象代码,但不能脱离.Net环境。
      

  4.   

    用Ngen.exe MyAssembly 可以将MSIL(应用程序的全部程序集)代码编译为本机代码,并可以安装到本机映象高速缓存中。但不能删除原来的程序集和MSIL代码,因为仍需要元数据。
    可以用资源管理器打开Winnt\Assembly目录,可以看到很多.Net的程序集的‘类型’为‘本机映象’。
      

  5.   

    你得想法太超群了,.net只能通过ILDASM翻译成MSIL码,它和汇编语言差不多了。但只能紧紧如此。
      

  6.   

    to  _weiKun_(Virus) :
    什么叫“.net只能通过ILDASM翻译成MSIL码”啊?
    1.不是ILDASM(这是将MSIL翻译成类似汇编语言)
    2.不是只能(难道Brorland或其它公司支持.Net的编译器就非得用微软的"ILDASM"(按你的说法)才能生成MSIL ?)
      

  7.   

    楼主有这样的想法实在是有趣,.net程序运行在虚拟机上,JIT编译器只是虚拟机的一个部分,虚拟机做的工作远不是 仅仅把IL转换成机器码那么简单。好比GC,就是虚拟机的一部分,C#程序要是没了GC,那么分配出去的内存就收不回来了。要把C#程序转换成机器码,只要写一个新编译器,目标码改成汇编就可以了。但是反射、运行期类型支持、.net remoting、以及最重要的GC 之类需要CLR支持的功能就不能用了,如果你的C#程序里用到了.net类库,那么楼主还需要把.net类库用COM的方法全部重新实现一遍,所以这个..不太现实吧。