VC++和MFC到底是什么关系

2024-05-06 21:58

1. VC++和MFC到底是什么关系

vc++是一款1998年推出的编译器(准确的说就是集成开发环境)。
mfc是一款应用程序框架,它的出现甚至比vc++更早,所有前一位说vc++包括mfc是不正确的。而且不光vc++,vs里也提供mfc。准确的说class wizard才是vc或者vs特有的,class wizard这个插件作为vc等ide的一个功能提供了代码补全的功能,让用户使用mfc进行编程时更便捷。
但是,因为mfc是开源的,理论上你可以参考它的代码(如果你真有那个闲情逸致的话)把它做一定修改移植到别的ide上去用,如果你更有心,还可以为你移植的那个ide开发一个类似class wizard的插件,那么那个ide也可以使用mfc了。
至于说mfc只是做界面的,这有点狭隘了,首先windows api就提供了界面的绘制功能,你不用mfc一样可以创作窗口程序,并在其上绘图。其次,mfc是应用程序框架,它封装了常用的windows api,将其以一定层次呈现在用户面前。在编译器不支持rtti的情况下,mfc的开发者生生地使用他们的方法在这个框架中提供rtti,将windows的消息响应机制通过message map(消息映射),message routing(消息路由)更自然地呈现在用户面前,在c++对容器的支持不那么完善的情况下,提供了便捷的链表类。总而言之,mfc绝不仅仅是做界面的。
最后说一句,mfc确实凝聚了一帮微软大牛的技术结晶,可是毕竟是20年前的结晶,事实上现在确实差不多被淘汰了(vc++也是)。。。。

VC++和MFC到底是什么关系

2. VC++和MFC到底是什么关系

vc++是一款1998年推出的编译器(准确的说就是集成开发环境)。
mfc是一款应用程序框架,它的出现甚至比vc++更早,所有前一位说vc++包括mfc是不正确的。而且不光vc++,vs里也提供mfc。准确的说class
wizard才是vc或者vs特有的,class
wizard这个插件作为vc等ide的一个功能提供了代码补全的功能,让用户使用mfc进行编程时更便捷。
但是,因为mfc是开源的,理论上你可以参考它的代码(如果你真有那个闲情逸致的话)把它做一定修改移植到别的ide上去用,如果你更有心,还可以为你移植的那个ide开发一个类似class
wizard的插件,那么那个ide也可以使用mfc了。
至于说mfc只是做界面的,这有点狭隘了,首先windows
api就提供了界面的绘制功能,你不用mfc一样可以创作窗口程序,并在其上绘图。其次,mfc是应用程序框架,它封装了常用的windows
api,将其以一定层次呈现在用户面前。在编译器不支持rtti的情况下,mfc的开发者生生地使用他们的方法在这个框架中提供rtti,将windows的消息响应机制通过message
map(消息映射),message
routing(消息路由)更自然地呈现在用户面前,在c++对容器的支持不那么完善的情况下,提供了便捷的链表类。总而言之,mfc绝不仅仅是做界面的。
最后说一句,mfc确实凝聚了一帮微软大牛的技术结晶,可是毕竟是20年前的结晶,事实上现在确实差不多被淘汰了(vc++也是)。。。。

3. c++和vc++是什么关系? vc++和MFC什么关系?

我也曾经疑惑过这个问题····
C++是一门语言,或者说是语言规范,由C++标准委员会制定。
C++的语言规范出现后,需要有一个具体的实现,简单来说就是要提供一个运行平台和编译器,可以让开发者来使用这个语言。
VC++就是C++的具体实现,由微软在windows平台上实现,编译器是VC6,最新的版本是VS2013。
另外一个是由GUN在Linux系统下的实现,就是GCC。
每家的编译器实现,都不是严格遵守C++规范的,会有一些不同,比如VS和GCC就各自有自己的特殊语法。而且不同的编译器是对应C++不同的语言规范版本的。比如VC6就不怎么支持C99,因为VC6比那个标准早。其实具体的差别,一般也不会有太明显的感觉。
一般来说,说C++的时候经常会默认指代VC++。。。

VC++和MFC么,MFC的全程是Microsoft Foundation Classes,微软基础类库。这个东西是用来开发windows的图形程序的一个框架,是对原生的win32API的一个包装,你可以理解为微软构建于windows平台和C++语言之上的一种编程框架,用来简化windows图形程序的开发,因为win32API实在是够蛋疼,微软自家都看不下去了。

c++和vc++是什么关系? vc++和MFC什么关系?

4. C语言 VB VC VF C++有什么区别?

VF 的前身是FoxPro。FoxPro隶属于一种名为Xbase的DBMS类别。当时FoxPro及其以前的dBase都是用于数据库管理的。后来,被微软收购后,改造成可视化的一个编程开发环境,用于开发数据库应用程序。优势应该是数据库开发,自身带有数据库管理系统,访问数据库效率很高。网上说,现在微软对它的宣传已经很少了。
C/C++,VC/VC++这是一个系列的产品。C和C++都能叫做一种语言,但是VC和VC++不能。加了一个V字,只是说你可以使用windows的很多API实现编程,并可以使用相应的可视化开发工具,如资源编辑器等,但是使用的仍然是C和C++语言。++则表示对面向对象的支持,即类的出现。
VB的前身应该是Basic,他们的语法应该也是基本一致的。这个我不是很了解,VB和basic的关系应该与C和VC的关系类似。这是初学者专用语言,相对其他可视化编程,最简单。代码效率比较低,做个界面还行。
这几种语言中C系列的语言最为强大。当前软件开发的三大主流语言:C++,Java,C#。

5. C语言VB、VC、VF、C++各有什么区别?

VF 的前身是FoxPro。FoxPro隶属于一种名为Xbase的DBMS类别。当时FoxPro及其以前的dBase都是用于数据库管理的。后来,被微软收购后,改造成可视化的一个编程开发环境,用于开发数据库应用程序。优势应该是数据库开发,自身带有数据库管理系统,访问数据库效率很高。网上说,现在微软对它的宣传已经很少了。
C/C++,VC/VC++这是一个系列的产品。C和C++都能叫做一种语言,但是VC和VC++不能。加了一个V字,只是说你可以使用windows的很多API实现编程,并可以使用相应的可视化开发工具,如资源编辑器等,但是使用的仍然是C和C++语言。++则表示对面向对象的支持,即类的出现。
VB的前身应该是Basic,他们的语法应该也是基本一致的。这个我不是很了解,VB和basic的关系应该与C和VC的关系类似。这是初学者专用语言,相对其他可视化编程,最简单。代码效率比较低,做个界面还行。
这几种语言中C系列的语言最为强大。当前软件开发的三大主流语言:C++,Java,C#。

C语言VB、VC、VF、C++各有什么区别?

6. VC 和 C++ 有什么区别和联系?求答案

其实,这是个很奇怪的问法,就好像在问:是学开车好还是学开福特车好?开车是一种普遍的技术,用这个技术可以控制福特车或奥迪车,这在技术上没有很大的差别,最多只是一些开关的位置不同而已。同样的道理,c++是一种程序语言,现在已经成为ISO标准,是一种普遍的技术。Visual c++只是一种协助用户使用c++语言设计软件的工具。
类似的工具还有很多,例如Borland c++ Builder,设置还有免费的GNU c++,他们都是协助用户使用c++设计软件的工具。
VC是一种功能非常强大的技术。在Windows下,VC几乎无所不能。但每个工具都有所长短。这里值列举最实用、最热门的一些应用。
VC可以写WEB上的控件:Web控件大家相对不会陌生。各种流氓插件也是属于其中一种。现在Web控件开发非常火暴。各行各业都存在各式各样的控件。例如,百度的搜霸,银行的各种安全控件。
VC可以开发优秀的基于通信的程序:现在网络发展,各种通信控件比比皆是。例如,大家使用聊天工具、BT下载工具、视频点播工具之类。这也是现在网络应用的热点。
VC可以开发高效灵活的文件操作程序:这类包括各种文件管理器和网络U盘的后台系统。
VC是编CAD软件的唯一选择!!!包括AUTOCAD,UG的二次开发:这两年国产CAD飞速发展,VC的功劳不可抹杀。
VC开发各种游戏:游戏开发一直是国家提倡的产业。游戏开发的首选工具就是VC。
虽然VC属于一个传统编程语言,但实际岗位还是非常巨大。每年的人才需求量不比网站开发少。而待遇往往比网站开发的高。无论从应用角度,还是工作角度,学习VC的价值是非常有前途的。
很多人都说VC太难学。这是由于VC的体系非常大,涉及系统的内核。但是,实际应用不可能用到所有的内容。所以,学习时候,一定要有选择的学习。学习VC,通常需要遵循以下流程。
第一阶段:首先学习VC的各种语法。尤其封装、继承、多态一定要精。这时,不要让vc的各种特性分散注意力。这一阶段,可以把重心放到各种算法的实现。这一阶段可以参照机械工业出版社出版的《VISUAL C++6.0完全自学手册》。
第二阶段:在基本上掌握了语法之后,就可以接触简单的系统API。学习Windows的编程原理和机制;先了解Windows系统的消息机制(多任务,消息映射等)。一开始用基本的SDK形式来开发几个程序作为入门(WinSDK编程就是直接调用Windows的API进行编程)。其中,SDK全称是Software Development Kit,意思是软件开发工具箱;API全称是Application Program Interface,意思是应用程序编程接口。这一阶段可以参照机械工业出版社出版的《VISUAL C++6.0完全自学手册》和人民邮电出版社出版的《Visual C++ 6.0开发指导》
第三阶段:用MFC来开发程序。MFC全称是Microsoft Foundation Classes。它是把WinAPI进行封装的类库,它是一个类的集合。它通过覆盖Window API,为编程提供了一个面向对象的界面。它使windows程序员能够利用C++面象对象的特性进行编程。这个阶段可以参考人民邮电出版社出版的《精通MFC程序设计》。
第四阶段:到了一定程度,就需要选择学习的方向了。根据应用,VC可以细分处很多应用方向。例如,工控、电控类学习通信VC++开发,可以参考铁道出版社出版的《VISUAL C++实践与提高--串口通信与工程应用篇》。学习游戏开发、视频处理可以参考铁道出版社出版的《VISUAL C++实践与提高--数字图像处理与工程应用篇》。学习大型系统开发可以参考铁道出版社出版的《VISUAL C++实践与提高--数据库开发与工程应用篇》。而现在新兴的网络开发,可参考的书较少。

7. vc++和c++有什么区别?

VC++又叫做Visual C++,VC++整合了微软视窗程式设计(Windows API),三维动画DirectX API,Microsoft .NET框架等,当然我们最熟悉的是MFC;而C++相对于VC++更底层。VC++是有微软公司设计开发,因此只能在windows操作系统中运行,而C++是一种标准(一般由ANSI来规范),因此可以实现跨平台。VC++有专门的编译器,叫做VC++或者Visual Stdio,VC++的最新版本是VC++ 2010;Visual stdio的最新版本是Visual Stdio2010。而C++的编译器很多,windows系统中最常见的C++编译器是DEV C++。
希望对你有所帮助。

vc++和c++有什么区别?

8. VC 和C++ 什么 区别

visual c++ 看这个名字,前面的visual是可视化,也就是说是一种可视化的C++ 但是我们并没有看到如C#那样的可视化托控件。
因为ms在当年推出VC的时候确实允许编辑资源文件,但是也只是简单的dialog 等等,如今我们更需要的是那种强大的grid,tree这样的控件。所以你可以忽略visual这个含义,只当做是前缀即可。目前支持可视化开发的IDE很多,其实这些IDE都是自带类库,允许拖拽的形式生成代码而已。

然而VC++使用的的编译器也是独立的。是他们自己的编译器。
这样编译器并没有命名,人们习惯叫他VC编译器。
所以 vc是一种C++、C语言。
要知道。并不像java那样,几乎人们用的编译器都是sun提供的(还有IBM.GOOGLE),C系列有很多第三方编译器,他们自行优化代码,生成汇编,这期间可能将代码进行了某些特殊处理。

比如CodeBlocks(一个ide)使用的GCC编译   类 实力;可以通过,可能VC就不会通过(我不确定我这个比较是对的,但这仅仅是以个比方)所以说
我们学VC只是学这个编译器的特性。
C++的可视化开发其实意义不是很大。如果要你做一个windows平台的mis,你不如用C#因为你会发现,C#开发起来要比C++开发过程短上数倍,至于运行效率,我们不会在乎系统那么几毫秒的反应的,因为你根本跟不上系统的反应速度。