c++编程,windows编程与mfc编程

作者&投稿:贾严 (若有异议请与网页底部的电邮联系)
分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:

请问高手,用c++编的程序和用vc编的程序以及mfc编程的区别在哪里,vc里包含的mfc和windows程序框架,vc和这两者之间是什么关系啊,

windows编程和windows API编程是一样的吗,如果我想用c++编windows程序的话应该怎样做,学什么先呢?

解析:

C++是一种编程语言,用C++语言编写的程序可以用C++编译器来编译成可运行的执行程序。C++编译器有很多。

VC是一个编程工具软件,它集成了C++编译器和编辑环境,全称叫做:Virtual C++,即“可视化的C++编程工具”。

MFC是一个微软提供的基础类库,它封装了WINDOWS里的API,对于开发者来说,用MFC会比直接用Windows的API来得容易一些。(所有Windows应用程序都得通过使用Windows API来实现)MFC中还提供了很好的应用程序框架,最突出的就是"文档-视"结构。

C++语言与操作系统环境是没有关系的,由于Windows操作系统太过普及,所以一般大家都在开发基于Windows操作系统的应用程序。

目前用于开发Windows应用程序的编程语言、编程环境很多,而用C++开发程序的编程环境中,VC是比较好用的,尤其是开发Windows应用程序,再加上VC对MFC应用开发支持的最好(都是微软的产品),所以,现在相当多数的人在VC上用MFC来开发Windows应用程序。

你提到的“windows编程和windows API编程”还是有一点不同,前者比较泛指开发Windows应用程序,而后者比较强调直接调用Windows API进行编程,前者包括后者,现在直接用Windows API编程的比较少,而是用封装了API的类库来开发的比较多,比如MFC。

总之,VC,C++,MFC之间是没有什么直接关系,要说有的话,就是:

1。VC支持C++编程语言,也支持用MFC开发Windows应用程序

2。MFC本身就是C++类库

另外:

1。VC也可以开发C程序,可以完全不用到MFC

2。VC可以用C或者C++开发非Windows程序,比如Dos程序等

如果你想用C++编Windows程序的话,建议你先把C++学好,然后试着在VC环境中学习用MFC框架开发Windows程序,可以参考《Virtual C++技术内幕》(现在已经搞不清到多少版了),当然,你手上还得必备一本MFC参考手册,随时可以查找类以及类成员函数的说明(有MSDN也可以)。

刚开始学不要太紧张,也不要太急于求成,循序渐进,最好先把一些概念搞清楚,还有就是操作系统的消息机制一定要多下功夫去理解,有了这些基础,再实践起来就会容易和轻松的多。

好了,先写这些,希望能够对你有所帮助。

***********************************************************

补充回答:

如果你现在想学windows API 编程的话,用VC也是合适的,创建工程的时候选择Win32 App,并且不使用MFC。

Windows API编程肯定需要使用一种编程语言的,选择C或者C++都是不错的选择,只要在程序里不使用MFC,而是直接调用Windows 提供的最基本的API,都可以叫做Window API编程的。

至于选择开发环境,VC还是相当不错的(虽然稍微复杂一点),可以利用VC为你生成应用程序框架,可以大大提高开发效率,也可以自己从WinMain()开始一点一点地写(即应用程序的唯一入口点,相对而言,非Windows程序是以main()开始的),就跟写DOS程序一样。

总之,Windows API编程并不复杂,你可以看看几个简单的例子,然后慢慢的增加代码和应用的复杂度。如果你用VC,就让VC帮你生成一个最简单的应用程序框架,你一句代码也不用写,就可以运行了,然后你再仔细看看VC帮你生成的源代码,你就可以开始在这个基础上慢慢的加些新的代码进去了。

编程的时候,在VC缺省的情况下是默认为C++的,至于你用C还是C++就随你了,一般人都是混着用的,C++完全包含了C,现在一般区分C和C++,无非就是简单的看看是否使用了类,是否使用了引用(&)等等。。。建议你就直接用C++,先掌握基本的C语法和概念。

不知道你现在的底子如何,你可以同步先学以下一个方面的内容:

1。编程语言

2。熟悉Windows API,理解Windows的消息机制

3。VC开发环境

好了,现在就可以做的,就是:

1。安装一个VC

2。试着摸一摸VC,并用VC为你创建一个最简单的应用程序框架(不要使用MFC)

3。一手拿本编程语言的书,一手拿本Windows API速查手册。

4。开始吧,还犹豫什么!编译,运行!

~

linux下编程和windows下的编程有什么区别
答:因为MFC库是和微软编程工具VC++/VS进行捆绑的,加上MFC编程的便捷,所以Windows编程C语言用的比较少,而C++语言用的比较多,后来微软退出.NET平台后,C#语言也成为了Windows编程的主流语言。另外就是Linux编程,编写命令行程序仍然占很大比例,而Windows命令行编程已经非常少了,Windows主要是图形界面编程。

Win32 API 编程 跟 windows编程有什么区别?
答:API编程跟windows编程区别:1.API是控制台应用程序,就是运行时出现一个就像dos黑色窗口,而widows程序设计是窗口应用程序,就像WORD,记事本等这样的有窗口框架的程序设计。编程思想不同,API语言是面向过程的,可以理解为顺序的执行;而Widows是面向过程的,事件触发,模块化的编程思想,如果学过VB的话就...

windows编程,MFC编程,C语言编程,三者有什么关系?
答:打个比方。C语言是汉语,MFC是一些优美的句子,Windows编程是写一篇文章。文章你可以用英语、汉语、日语等等,Windows编程也是一样,C语言只是一种选择,其他的C++等也可以。MFC是WindowsAPI的C++封装,相当于一些句子,需要时直接使用,而不用你一个一个去想。也就是说,本来开发Windows应用都需要API,...

Visual c++编程和windows编程有什么异同点
答:VisaulC++只是微软提供的开发用IDE,并不是一门独立的语言。而Windows众所周知是操作系统,所以所谓“VisualC++编程” 就是使用C++在"VisaulC++"上编程,所谓Windows编程,就是编写Win平台的应用程序罢了。对于开发者来说,主要需要关注的两点是,编程语言和库。使用VisaulC++来编写应用程序时,使用MFC,.Net...

Win32 API 编程 跟 windows编程有什么区别?
答:API编程跟windows编程区别:1.API是控制台应用程序,就是运行时出现一个就像dos黑色窗口,而widows程序设计是窗口应用程序,就像WORD,记事本等这样的有窗口框架的程序设计。编程思想不同,API语言是面向过程的,可以理解为顺序的执行;而Widows是面向过程的,事件触发,模块化的编程思想,如果学过VB的话就...

Windows 7脚本编程和命令行工具指南的目录
答:9.5.1 远程脚本编程2829.5.2 将脚本复制到多台计算机上2829.6 脚本安全性问题2849.6.1 脚本签名2859.6.2 脚本编码器2889.7 建立登录脚本2889.7.1 用户配置文件登录脚本2899.7.2 在Window 7和Vista上用于登录、退出和其他事件的脚本2909.7.3 组策略登录、退出、启动和关闭脚本2909.8 计划脚本以自动运行2919.8.1...

关于学习Windows编程与Linux编程的选择。
答:其实学习 Linux 也并非如你所说的完全从 0 开始,你所学过的 c/c++,数据结构等等都是基础。这些东西在 Windows 上用的着,在 Linux 上也用的着。甚至 Linux 的大部分东西,都是基于你所说的这些基础。也许,你需要熟悉的只是一些 linux 的操作而已,另外就应用程编程的 API 上来说,Linux 和 ...

我想自学windows内核编程以及C语言网络编程(之前完全没接触过),已经掌 ...
答:《windows核心编程》距离windows内核编程还差得远啦,《windows核心编程》是一本讲述windows应用程序开发的书。你真正需要掌握的是操作系统方面的知识,例如怎么样创建一个线程、创建一个进程、如何遍历文件夹,控制他们的访问权限,内存映射等。然后开始看操作系统方面的书,比如《操作系统 : 精髓与设计原理...

简述使用visual c++进行Windows编程的几种方案流程以及各自对应的优缺...
答:有些解译深度不够,再所能免。只是为了认你清楚这些是针对不同方面联系较深而作出的概念而已。就象说话,对一个事物,可能有不同的叫法来表现事物与哪方面联系较深。游戏编程与游戏较多。假如有一种在windowsg下的编程与电影联系较深有能力为它命名为windows电影编程。我是说假如。希望不会误导你。你的...

windows编程
答:windows编程分两种:一种是直接调用API,可以直接用原始的C编写windows程序,一般游戏开发用这种方式;另一种是MFC方式,将windows的API封装起来,以面向对象的方式编写,这种方式一般用来编写应用程序!你要学游戏编程的话建议你从《windows程序设计》和《windows游戏编程大师技巧》这两本书开始!利用C++能进行...