PS:
1,基于.NET 框架的代码是不是都是托管代码?
2,以前听说托管代码容易被反编译,right?
3,在c#中用dllImport导入的dll,是托管的还是非托管?
4,在添加引用里,添加的dll,是托管的还是非托管?大家别嫌弃我问的问题太初级了,没办法,大伙也是这么过来的,呵呵~

解决方案 »

  1.   

    简单的说:
    非托管代码:一般是直接与OS打交道.
    托管代码: 一般是委托中介(如.net framework 等)
      

  2.   

    我的理解是:
     1)基于.NET 框架的代码是不是都是托管代码?
       是.  首先我认为凡是被编译为IL的都是托管代码
     2)这个还没有深入了解过. 暂不知道. 知道的烦请告诉我.
     3)dll import的是非托管代码. 导入的DLL是本地代码(Native Code).
     4)添加引用时, 因为也可以引用COM库, 所以托管,非托管的情况都有.  
      

  3.   

    所谓托管代码: 
    是指.Net下面编译为msil的一种字节码, 而非传统的编译语言编译入C,C++之流, 直接编译成二进制的可执行机器码.
    就是说, 需要一个额外的解释器, 才能执行这种假的奇迹码. 在.net里面, 就是一个jit的编译器, 在执行的时候, 才编译成可执行的目标机器码, 才能真正执行起来. 这个概念类似于, java里面,的那些.class文件, 需要jdk虚拟机才能执行起来是一个意思.同样, 这个特性, 造成了一个很好的效果, 就是平台无关的特性.