这个问题不太清楚,因为。NET是可以跨平台的,托管的代码,要满足CLR的要求他的类库是否同MFC一样是封装了API呢?
我个人觉得不是,因为如果他的类库是封装了API,那么就谈不上跨平台了,难道LINUX还要用WIN32 API?嘿嘿!感觉他带的类库应该可以看作和WIN32 API同一层的,WIN32 API直接和OS交互,而他是通过CLR同OS交互。
所以他的类库应该是和系统无关的,只是和CLR有关。不知道我理解的对不对,请大虾赐教。
我个人觉得不是,因为如果他的类库是封装了API,那么就谈不上跨平台了,难道LINUX还要用WIN32 API?嘿嘿!感觉他带的类库应该可以看作和WIN32 API同一层的,WIN32 API直接和OS交互,而他是通过CLR同OS交互。
所以他的类库应该是和系统无关的,只是和CLR有关。不知道我理解的对不对,请大虾赐教。
许多FCL中定义的类型内部都调用了从kernel32.dll,user32.dll中导出的CreateSemaphore函数。这么说还是有调用WIN API的。其中所有的类最终都调用了API实现,还是有一部分是,有一部分不是??迷惑啊~~
谁来给个权威答案
你说跨平台就得用跨平台的库
是.NET程序跨平台,不是框架跨平台
WIN下有WIN的框架,LINUX下有LINUX的框架
各种框架的上层接口是相同的
所以.NET程序能在不同的框架上运行,叫做跨平台
.Net只是把这些都封装好了,不管什么C++,Java,VB,都一样。如果lz特指的是Winform的话,在Linux上可能确实比较难实现。