日期:2014-05-20  浏览次数:20819 次

对.net框架类库以及各类库之间关系精通的进!分大把大把给!
最近写了个小程序,用到了windows.h这个头文件,于是便产生了许多问题。下面听我说下!
我的系统是windows xp ,开发工具是VS2005. .net框架是2.0版本的,用C++语言编写win32控制台程序。

1.我在程序里用了windows.h定义的东西,我是不是可以说我用的是.Net FrameWork SDK(在我机器上C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK),而不是windows api?而MSDN中说的.NET Framework 类库又是什么(似乎在C:\WINDOWS\Microsoft.NET\Framework能找到)?他们的关系我似乎没搞清楚!


2.而.Net FrameWork SDK提供的功能几乎和windows api提供的功能一样(为了调用方便)?而.NET Framework 类库提供的又是什么?


3.而windows.h中定义的一些函数具体实现在哪呢?(在哪个目录下)

4.以前用过C#写过一些东西,似乎using System.Data;这样后就可以直接使用,而不必#include包含头文件,这是为什么?


5.人们常说的MFC(基础类库)又是什么?提供了什么功能?和上面的.Net FrameWork SDK,.NET Framework 类库又是什么关系?


我似乎对微软提供的东西一些类库搞糊涂了。。。上面写的有些乱。希望达人指点!!!可以不按我提问题的思路回答,从宏观上给我一个大的概念最好!

------解决方案--------------------
说实在的很难跟你说清楚,看起来你对底层代码从来不去“打开”看看,哪怕只是看看一点点。

直到visual studio 6,里边的vb6、vc6都是生成原生的本地代码的。各种语言,甚至同样是vc内部也分成好几个流派,使用各种不同的类库。各种语言、甚至vc内各个流派的开发人员都可以互不“通气”(依赖的类库不同)。

对于vb,当它从vb6变动到vs2002上的vb.net时,彻底跟非.net平台分开了。所以如果你还想写传统的原生本地机代码的vb程序,就应该使用vb6而不是vs2002以后的vb。

如果你开发.net平台上的程序,语言已经没有什么值得夸耀的了,因为整个类库是.net framework统一的一套。
------解决方案--------------------
windows与.NET之间的关系没有搞清楚。
windows是操作系统,而.net是运行于windows上的虚拟机(相当于Java虚拟机)。
------解决方案--------------------
.net框架下也可使用VC++.net,开发MFC程序