Windows编程关于SDK、MFC、.net框架、VCL等的理解与问题

Windows编程关于SDK、MFC、.net框架、VCL等的理解与问题,第1张

你问的问题比较多,要说清楚并让你理解,就篇幅太大了。我抽几个回答吧。

1、 *** 作系统Windows或Linux,无论是用C还是C++写的,只提供系统API函数?

除了系统API的函数,还有其他的类库可以调用。

3、MFC是VC软件包提供的,是封装了Win32 API的类库,用于面向对象的C++编程?

MFC本身是一个类库,也包含一个框架。其中包含了大量的系统API的集成,以及系统控件和组件的集成。可以大大减少开发工作量。

5、net框架怎么理解?除了用于C#,用C++开发能用net框架吗?

NET框架下,可以使用C#,c++,vb,j#等语言进行开发。并且在该框架下生成的类库,大部分可以框架下夸语言引用。比如VB编译了一个类库,abcDLL,用C#也可以使用。

7、Windows桌面程序,比如一个编辑器、一个看图程序、一个纸牌游戏、QQ软件、迅雷软件、网络游戏客户端等,它们是用什么框架编写的?或者说,适合用什么框架编写?

这就不一定的,但大部分设计到使用系统组件和控件的时候,使用C++的会多一点。

8、微软有没有类似BCB的C++语言的RAD产品?或者说,有没有类似VCL可以代替MFC的东西?或者说,有没有一种框架可以实现程序界面设计和功能编写相分离?

有,microsoft visual c++,就是可视化编程。还有visual vb,以及net框架的变成环境,visual studio,都是可视化编程。界面和业务代码可以分离。特别是visual studio。

最后给一点建议,在选择语言和框架前,先弄清你要编程的软件会涉及到哪些业务,其中的逻辑,算法等等。通常情况下,越新的语言和框架,越适合初学者使用,因为其语法越靠近自然语言,其功能类库越全面。

框架和语言对于软件的限制,可大可小。先找一个自己最能弄懂的语言,实现自己的业务,再考虑别的吧。

以目前的计算机硬件来说,没有密集计算的情况下,c#改写成c++的软件,跑数值可能有差异。对于用户使用来说,实际感受不会有多大差异。

其实很简单,SDK 就是 Software Development Kit 的缩写,中文意思就是“软件开发工具包”。这是一个覆盖面相当广泛的名词,可以这么说:辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做“SDK”。具体到我们这个系列教程,我们后面只讨论广义 SDK 的一个子集——即开发 Windows 平台下的应用程序所使用的 SDK。

呵呵,其实上面只是说了一个 SDK 大概的概念而已,理解什么是 SDK 真有这么容易吗?恐怕没这么简单!为了解释什么是 SDK 我们不得不引入 API、动态链接库、导入库等等概念。^_^,不要怕,也就是几个新的名词而已,我也是到了大学快结束的时候才体会到其实学习新知识就是在学习新名词、新概念和新术语。

首先要接触的是“API”,也就是 Application Programming Interface,其实就是 *** 作系统留给应用程序的一个调用接口,应用程序通过调用 *** 作系统的 API 而使 *** 作系统去执行应用程序的命令(动作)。其实早在 DOS 时代就有 API 的概念,只不过那个时候的 API 是以中断调用的形式(INT 21h)提供的,在 DOS 下跑的应用程序都直接或间接的通过中断调用来使用 *** 作系统功能,比如将 AH 置为 30h 后调用 INT 21h 就可以得到 DOS *** 作系统的版本号。而在 Windows 中,系统 API 是以函数调用的方式提供的。同样是取得 *** 作系统的版本号,在 Windows 中你所要做的就是调用 GetVersionEx() 函数。可以这么说,DOS API 是“Thinking in 汇编语言”的,而 Windows API 则是“Thinking in 高级语言”的。DOS API 是系统程序的一部分,他们与系统一同被载入内存并且可以通过中断矢量表找到他们的入口,那么 Windows API 呢?要说明白这个问题就不得不引入我们下面要介绍得这个概念——DLL。

DLL(又是一个缩写,感觉 IT 这个行业里三字头缩写特别多),即 Dynamic Link Library(动态链接库)。我们经常会看到一些 dll 格式的文件,这些文件就是动态链接库文件,其实也是一种可执行文件格式。跟 exe 文件不同的是,dll 文件不能直接执行,他们通常由 exe 在执行时装入,内含有一些资源以及可执行代码等。其实 Windows 的三大模块就是以 DLL 的形式提供的(Kernel32dll,User32dll,GDI32dll),里面就含有了 API 函数的执行代码。为了使用 DLL 中的 API 函数,我们必须要有 API 函数的声明(H)和其导入库(LIB),函数的原型声明不难理解,那么导入库又是做什么用的呢?我们暂时先这样理解:导入库是为了在 DLL 中找到 API 的入口点而使用的。

所以,为了使用 API 函数,我们就要有跟 API 所对应的 H 和 LIB 文件,而 SDK 正是提供了一整套开发 Windows 应用程序所需的相关文件、范例和工具的“工具包”。到此为止,我们才真正的解释清楚了 SDK 的含义。

由于 SDK 包含了使用 API 的必需资料,所以人们也常把仅使用 API 来编写 Windows 应用程序的开发方式叫做“SDK 编程”。而 API 和 SDK 是开发 Windows 应用程序所必需的东西,所以其它编程框架和类库都是建立在它们之上的,比如 VCL 和 MFC,虽然他们比起“SDK 编程”来有着更高的抽象度,但这丝毫不妨碍它们在需要的时候随时直接调用 API 函数。

1)如果熟悉WinSDK,当然是用SDK很容易,但SDK很多接口没有封装起来,实现很多功能需要从头开始,同样的功能,其代码量比MFC多;

2)MFC框架底层代码熟悉后,使用MFC才会比较容易,否则一般不太容易熟悉的,所以一般熟悉SDK,是掌握MFC的前提;

3)可以看下我在百度空间的相关文章,也许对你有帮助:

>

Visual C++是一个功能强大的可视化软件开发工具。自1993年Microsoft公司推出Visual C++10后,随着其新版本的不断问世,Visual C++已成为专业程序员进行软件开发的首选工具。

虽然微软公司推出了Visual C++NET(Visual C++70),但它的应用的很大的局限性,只适用于Windows 2000,Windows XP和Windows NT40。所以实际中,更多的是以Visual C++60为平台。

Visual C++60不仅是一个C++编译器,而且是一个基于Windows *** 作系统的可视化集成开发环境(integrated development environment,IDE)。Visual C++60由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具。 这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。

Visual C++它大概可以分成三个主要的部分:

1. Developer Studio,这是一个集成开发环境,我们日常工作的99%都是在它上面完成的,再加上它的标题赫然写着“Microsoft Visual C++”,所以很多人理所当然的认为,那就是Visual C++了。其实不然,虽然Developer Studio提供了一个很好的编辑器和很多Wizard,但实际上它没有任何编译和链接程序的功能,真正完成这些工作的幕后英雄后面会介绍。我们也知道,Developer Studio并不是专门用于VC的,它也同样用于VB,VJ,VID等Visual Studio家族的其他同胞兄弟。所以不要把Developer Studio当成Visual C++, 它充其量只是Visual C++的一个壳子而已。这一点请切记!

2. MFC。从理论上来讲,MFC也不是专用于Visual C++,Borland C++,C++Builder和Symantec C++同样可以处理MFC。同时,用Visual C++编写代码也并不意味着一定要用MFC,只要愿意,用Visual C++来编写SDK程序,或者使用STL,ATL,一样没有限制。不过,Visual C++本来就是为MFC打造的,Visual C++中的许多特征和语言扩展也是为MFC而设计的,所以用Visual C++而不用MFC就等于抛弃了Visual C++中很大的一部分功能。但是,Visual C++也不等于MFC。

3. Platform SDK。这才是Visual C++和整个Visual Studio的精华和灵魂,虽然我们很少能直接接触到它。大致说来,Platform SDK是以Microsoft C/C++编译器为核心(不是Visual C++,看清楚了),配合MASM,辅以其他一些工具和文档资料。上面说到Developer Studio没有编译程序的功能,那么这项工作是由谁来完成的呢?是CL,是NMAKE,和其他许许多多命令行程序,这些我们看不到的程序才是构成Visual Studio的基石。

WIN32 程序和MFC 程序生成的都是Windows应用程序。不同的是,Win32程序使用Windows SDK框架生成应用程序框架,默认该框架程序不使用MFC(微软基础类),生成的都是面向过程的程序框架,程序的入口时WinMain,使用这个框架需要对Windows SDK程序比较熟悉;MFC程序,可以选择单文档、多文档和对话框的应用程序框架,该框架支持MFC,生成的程序框架,都是C++面向对象的应用程序,程序的入口是CXXXApp。

以上就是关于Windows编程关于SDK、MFC、.net框架、VCL等的理解与问题全部的内容,包括:Windows编程关于SDK、MFC、.net框架、VCL等的理解与问题、SDK编程是指什么样的编程方法、为什么说用MFC比用SDK 要容易 没感觉啊 用SDK我还知道在WM-CREATE:添加控件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10171455.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存