这个问题不太清楚,因为。NET是可以跨平台的,托管的代码,要满足CLR的要求他的类库是否同MFC一样是封装了API呢?
我个人觉得不是,因为如果他的类库是封装了API,那么就谈不上跨平台了,难道LINUX还要用WIN32 API?嘿嘿!感觉他带的类库应该可以看作和WIN32 API同一层的,WIN32 API直接和OS交互,而他是通过CLR同OS交互。
所以他的类库应该是和系统无关的,只是和CLR有关。不知道我理解的对不对,请大虾赐教。

解决方案 »

  1.   

    但我昨天在看,.net框架设计的时候,里面写托管代码调DLL中用非托管函数时写到:
    许多FCL中定义的类型内部都调用了从kernel32.dll,user32.dll中导出的CreateSemaphore函数。这么说还是有调用WIN API的。其中所有的类最终都调用了API实现,还是有一部分是,有一部分不是??迷惑啊~~
    谁来给个权威答案
      

  2.   

    是封装了API
    你说跨平台就得用跨平台的库
    是.NET程序跨平台,不是框架跨平台
    WIN下有WIN的框架,LINUX下有LINUX的框架
    各种框架的上层接口是相同的
    所以.NET程序能在不同的框架上运行,叫做跨平台
      

  3.   

    操作系统是不认识什么CLR的,不调用API怎么分配内存?怎么访问设备?怎么输入输出?
    .Net只是把这些都封装好了,不管什么C++,Java,VB,都一样。如果lz特指的是Winform的话,在Linux上可能确实比较难实现。