vc,mfc,api,windows编程,win32(sdk),gui学习的顺序是怎样的,本人迷茫中!!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vc,mfc,api,windows编程,win32(sdk),gui学习的顺序是怎样的,本人迷茫中!!相关的知识,希望对你有一定的参考价值。

本人有较好的c,c++基础,java也学过一点,接下来不知道该学什么,再学什么,请各位大神指点啊!!
以后想做程序员,想从底层学起。

你列出的的东东都接触一些点。VC太狭义了,包含在Visual Stdio集成环境。VC的学习就是学习如何使用集成环境,以及如何调试程序而已。VS包含各种语言的个人与团队开发,测试以及数据库系统,公司大多会用VS2010 或 VS2008。MFC只是对WIN32 API从面向对象的思路进行了封装而已。如果以后想做偏底层,可以学习WIN32 API,所谓Windows编程也是学习windows的系统原理与win32 API如何使用。MFC对大部分人来说只是用来做界面的。但是做界面的话,很多人都转向了WPF,因为MFC显得有些死板。所以顺序的话,先学习如何使用VC集成开发环境,然后学习win32 api(即windows 编程) 或 mfc(gui包含在mfc中)。希望对你以后的学习有所帮助,呵呵 参考技术A 同时推出的SDK(软件开发工具包)。 SDK包含了开发所需的Windows版本的Windows函数和常数定义的API函数的文档,工具和示例。 SDK一般使用的C语言,但不包括编译器。高版本的VC + +的SDK头文件,帮助,样品,和工具,并且不需要重新安装SDK,低版本的VC + +5.0,您需要安装的SDK。从Windows 98,Windows SDK中被称为“平台SDK(),该声明包含了最新的Windows API函数,例如。
用VC写的windows程序有两种方式:Windows的C方式(SDK)和C + +的方式(SDK的功能封装在VC MFC,VCL BCB)。 SDK编程是直接与Windows API编程。 2000(Win95中),和MFC API封装,结合面向对象的继承,多态形式为一类,共有超过百种以上的数千API函数API。
SDK软件开发工具包的缩写,中文意思是“软件开发工具包”。这是一个覆盖面相当广泛的名词,可以说:支持发展的一个特定类型的软件,文档,示例和工具的集合,叫做“SDK”。在Windows平台下,SDK开发的应用程序仅仅是一个广义SDK的子集。
简单地说,它上面的一个软件开发工具包(SDK)的概念,了解的SDK的API,动态链接库,导入库,这样的概念
必须先与“API”,是应用程序编程接口,在左边的应用程序的操作系统调用接口,应用程序通过调用操作系统API的操作系统来执行应用程序的命令(动作)。早在DOS时代,有概念的API时,除了中断调用(INT 21H)的形式,在DOS下运行的应用程序,直接或间接地通过中断调用的API是基于使用操作系统的功能,如AH DOS操作系统的版本号后,调用INT 21H的30H。在Windows中,系统API函数调用。还获得在Windows操作系统的版本号,你所要做的就是调用GetVersionEx()函数。可以说,DOS API思维“在汇编语言中,Windows API是”思想在高层次的语言。 DOS API是系统的过程中,系统加载到内存中,并且可以通过中断矢量表找到他们的入口。
该动态链接库DLL(动态链接库)。我们经常看到一些d??ll文件格式,这些文件是动态链接库文件,它实际上是一个可执行文件格式。不同的exe文件,dll文件不能直接执行,他们通常执行。埃克装,包含一些资源以及可执行代码。事实上,Windows提供了三个模块的DLL(的Kernel32.dll,User32.dll的GDI32.DLL)的形式,里面包含了API函数代码的执行。为了使用的API DLL中的函数,我们必须要有API函数的声明(H)和导入库(LIB)。可以被理解为可以使用,以便找到在DLL中的API的入口点,并导入图书馆。
所以,为了使用API??函数,我们必须有相应的API。 H和LIB文件,SDK是一套完整的开发Windows应用程序,示例和工具,工具包所需的相关文件。 “
SDK包含了必要的信息使用的API,所以,人们通常只使用API??来编写Windows应用程序的开发叫做”S??DK编程。 API和SDK开发Windows应用程序是必要的,所以其他的编程框架和库建在它们上面,,如VCL和MFC,虽然他们有一个更高的抽象层次比SDK编程的程度,但是这丝毫不妨碍他们的直接调用API函数在任何需要的时候。主要是想了解
现在学习计算机编程,其中大部分是工作在Windows下,目前最流行的VC,大多数人开始开始学习VC,VC是基于C + +的语言为基础的发展工具,C + +是C语言的扩展,最好是先学习C和C + +学习VC。
两种:Windows中的C方式(SDK)来编写Windows程序与VC,C + + SDK的功能,如VC的MFC,VCL BCB方式:包装。 SDK编程就是直接调用Windows API编程,平时常说的“用SDK写程序”指的是Windows API函数编写程序,API由数千API函数(Win95的API,超过两千)。 MFC是API关闭,并结合组成的一个“类”,共有超过百级的面向对象编程,继承和多态性。尽管比SDK方便,但深度VC的MFC,直接学习MFC是不明智的选择。只熟悉MFC的运行机制,才有可能深入下去。学习VC + +最好是先学会用SDK写程序,大师作品的Windows操作系统在此期间,每个API函数的应用,然后更深的MFC。
编程环境
我们仍然使用VC6 IDE(集成开发环境)写的SDK程序开始VC6文件菜单,选择“新建...”选项??,显示的项目“选项卡上的”新建“对话框中选择Win32应用程序的名称,然后指定工程项目的项目名称在指定的路径中的位置,然后按”确定“按钮,在出现的对话框中,如果你想编写一个程序,在C语言可以选择emtpy的项目,如果你想创建一个项目的WinMain入口函数和一般的参数设置一个简单的Win32应用程序,你可以选择,如果你想创建一个简单而典型的“Hello World!” Win32SDK应用程序的应用程序,你可以选择一个典型的“Hello World!” ;应用。确定后按Finish完成的项目类型。
VC6环境下,你仍然可以使用的工具的资源编辑和ClassWizar的完成程序的编写。 SDK编程的关键是要了解该计划的来龙去脉。当然,如果你不知道,效率会非常低,比VB,PB,如此之快,什么是混合的,如果你是熟悉的SDK写的MFC程序会比较容易使用的关键熟悉C + +三个大的特点本回答被提问者采纳
参考技术B 个人理解windows的SDK就是windows API
而MFC是windows API的封装(当然还有其他功能)。
Windows GDI函数是API的一部分
所以使用API可以写GUI程序(GDI+、OpenGL以及DirectX也可写GUI程序)
MFC是API的封装当然也可以
学习顺序:先API后MFC,学API过程中本身就会包含Windows GUI的学习。
仅供参考,说的不对大神们指出来啊。
参考技术C 建议你看一下《老兵新传:Visual Basic核心编程及通用模块开发》
虽然是讲VB的,但对你入门会有帮助,因为其中API介绍的很详细,澄清了一些概念,通俗地详细讲解了一些不易理解的概念,而这些在其他书籍中没有讲解清楚甚至有错误。而且本书很新,还介绍了Windows 2000以上才提供的一些函数如SetLayeredWindowAttributes等,以及WindowsXP以上系统才提供的函数如GetLayeredWindowAttributes等,这些都是较新的内容。而许多书籍大都是Win98的内容。

书中的内容和源代码,既不是抄袭其他书籍的,也不是从网上下载的,更不是拼凑的,而是作者凭十余年的编程经验原创编写和自己开发的。

本书还安排了“索引”,位于全书最后。索引分为:“API函数”、“窗口和控件消息”、“控件的通知消息”三个部分,要查询API函数是很方便的。
参考技术D ios或者是android开发,当然,还要再学不少东西

无法理解普通 c++ 与 vc++、win32 编程、mfc、win32 api、CLI 之间的关系 [关闭]

【中文标题】无法理解普通 c++ 与 vc++、win32 编程、mfc、win32 api、CLI 之间的关系 [关闭]【英文标题】:Cannot understand relationship between normal c++ vs vc++, win32 programming, mfc, win32 api, CLI [closed] 【发布时间】:2012-05-10 07:46:10 【问题描述】:
    什么是mfc、cli和win32?您能帮我了解一下 Visual Studio 是如何与这 2 个相关的吗? c++ 和 vc++ 的区别是什么?当我们说“vc++”时,它是否意味着默认的对话框、表单、窗口和其他 gui 元素? 如果我在 Visual c++ 中创建一个基于控制台的应用程序,而不使用任何 win32 编程,它是否有资格作为一个可视化应用程序? 框、对话框、表单和其他 gui 属于 win32 编程还是它们不同? 除了基于控制台和 win32 编程之外,c++ 中还有哪些其他类型的编程?

请尽量简单。

【问题讨论】:

为什么是近距离投票?对我来说似乎是一个真正的问题。我可以理解对这些话题感到困惑。 @DavidM:在 meta 上有人提到“yoru 搜索引擎不是这样”和“它不是所有事物的列表”之类的。 @DavidM:这不是问题。这是许多不同的问题。 【参考方案1】:

C++ 是一种编程语言。它已编译,这意味着您需要一个编译器将源代码转换为可执行程序。

VC++是微软的一款编译器,运行在MS Windows上,将C++代码编译成MS Windows操作系统的可执行程序。

您可以使用 C++ 编写各种程序,从设备驱动程序到网络浏览器插件。好吧,如果您愿意,您甚至可以编写自己的操作系统。

为了简化您的开发,编译器开发人员(和第三方)编写了各种有用的库。 MFC 是一个库示例(更准确地说是一个框架),它可以帮助您在 MS Windows 上开发“可视化应用程序”。市场上还有其他 MFC 替代品。

现在来回答你的问题:

    MFC 是 Microsoft 用于在 Visual C++ 中创建可视化应用程序的框架。 CLI 是命令行界面。 CLI 应用程序通常没有任何可视元素,除了命令行输入——它们大多也没有任何菜单和鼠标交互。 Win32 是 32 位 MS Windows 应用程序的总称。你也可以为 64 位 Windows 开发。

    C++ 是一种语言。 VC++ 是一个编译器。除了 C++ 中提供的功能之外,此编译器还提供了一些附加功能,以简化 MS Windows 开发,特别是通过 MFC。

    “可视化应用程序”没有标准术语,但笼统地说,如果没有图形元素,您的应用程序将不会被视为可视化应用程序。

    对话框、表单和其他 GUI 元素确实属于 Win32 编程。如前所述,您可以使用 MFC 来简化此类 Win32 应用程序的开发。

    超越基于控制台和 Win32 编程:我认为您会因为在 IDE 中创建新 C++ 项目时 Visual Studio 附带的各种“向导”而感到困惑。您的安装中可能配置了几种类型的向导;仅举几个例子:您还可以将 ActiveX 和 MFC 控件作为您要创建的“应用程序类型”。

【讨论】:

在这种情况下,CLI 可能指的是 C++CLI 而不是命令行界面。 @jaywalker 谢谢。所以据我了解,微软有自己的编译器,称为 VC++,它与许多其他东西一起包含在 .net 框架中。它可以制作非常好的应用程序,如 1) 我们可以在其中使用一个非常好的和广泛的库,称为 Base CLass 库。 2) 编译时,它会生成一个独立于平台的可移植中间代码,称为字节码(也称为通用中间语言)。此 CIL 是通用语言基础结构规范 (CLI) 的 Microsoft 实现。 3) 在其他类型中,我们可以制作被称为 Win32 的应用程序,因为它们是由 32 位内存地址组成的。此外,win32编。包括使用各种 gui 元素进行编程。我对吗?现在,我的问题在 a) mfc 和 bcl 之间有所不同。 b) cts 和 cil。 另外,Win32 编程的定义是否更多地关注具有 32 位地址的应用程序”而更少关注“包含 gui 元素的应用程序”,还是反之亦然? @JASMEETBHATIA:这不是论坛。您不会在 cmets 中提问。您可以按 按钮提问。最好在搜索完答案之后。【参考方案2】:

好的,让我们从 Windows 开始。 Windows 是使用 C/C++ 构建的。您可以使用 Windows 提供的功能编写 Windows 程序 - 这是 Win32

MFC = Microsoft Foundation Classes - 一个环绕 Win32 接口的 C++ 类库。它是一个非常薄的包装器,这意味着您仍然可以(有时必须)访问 Win32 函数。按钮、对话框等是 Windows 的原始控件。

控制台应用程序设计为在命令行(也称为 dos 框)中运行。您可以使用 Windows 的某些部分,例如进程、文件系统等,但不能使用对话框之类的“光学东西”。

VC++ 是一个经常用于 C++ 和 MFC 的术语,或者至少是 Windows 下的 C++。

HTH 一点点。

【讨论】:

命令提示符是not,也称为“dos box”。它被称为命令提示符。控制台应用程序可以显示图形 UI。例如,没有限制控制台应用程序不能调用MessageBox。 VC++ 是一个产品名称。 MFC 是本产品的一部分。 MFC 绝不是一个“瘦” 包装器。例如,WTL 就是。

以上是关于vc,mfc,api,windows编程,win32(sdk),gui学习的顺序是怎样的,本人迷茫中!!的主要内容,如果未能解决你的问题,请参考以下文章

VC学习笔记---ATL MFC CLR三个库的区别

想学习VC,是先学MFC还是先学windows程序设计了解一下API函数?本人有不错的C/C++基础!

MFC入门书籍

VC中MFC从哪里开始运行,MFC怎么调试

MFC入门书籍

b0.0 MFC应用程序编程