




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VC+是微软公司开发的一个IDE(集成开发环境),换句话说,就是使用c+的一个开发平台.有些软件就是这个编出来的.另外还有VB,VF.只是使用不同语言.但是,vc+是Windows平台上的C+编程环境,学习VC要了解很多Windows平台的特性并且还要掌握MFC、ATL、COM等的知识,难度比较大。Windows下编程需要了解Windows的消息机制以及回调(callback)函数的原理;MFC是Win32API的包装类,需要理解文档视图类的结构,窗口类的结构,消息流向等等;COM是代码共享的二进制标准,需要掌握其基本原理等等。VC作为一个主流的开发平台一直深受编程爱好者的喜爱,但是很多人却对它的入门感到难于上青天,究其原因主要是大家对他错误的认识造成的,严格的来说 VC+不是门语言,虽然它和C+之间有密切的关系,如果形象点比喻的话,可以C+看作为一种”工业标准”,而VC+则是某种操作系统平台下的”厂商标准”,而”厂商标准”是在遵循”工业标准”的前提下扩展而来的。VC+应用程序的开发主要有两种模式,一种是WIN API方式,另一种则是MFC方式,传统的WIN API开发方式比较繁琐,而MFC则是对WIN API再次封装,所以MFC相对于WIN API开发更具备效率优势,但为了对WINDOWS开发有一个较为全面细致的认识,笔者在这里还是以讲解WIN API的相关内容为主线。要想学习好VC必须具备良好的C/C+的基础,必要的英语阅读能力也是必不可少的,因为大量的技术文档多以英文形式发布。vc6.0的优点是界面简洁,占用资源少,操作方便。 1.3 利用Visual C+/MFC开发Windows程序的优势MFC借助C+的优势为Windows开发开辟了一片新天地,同时也借助ApplicationWizzard使开发者摆脱离了那些每次都必写基本代码,借助ClassWizard和消息映射使开发者摆脱了定义消息处理时那种混乱和冗长的代码段。更令人兴奋的是利用C+的封装功能使开发者摆脱Windows中各种句柄的困扰,只需要面对C+中的对象,这样一来使开发更接近开发语言而远离系统。(但我个人认为了解系统原理对开发很有帮助) 正因为MFC是建立在C+的基础上,所以我强调C/C+语言基础对开发的重要性。利用C+的封装性开发者可以更容易理解和操作各种窗口对象;利用C+的派生性开发者可以减少开发自定义窗口的时间和创造出可重用的代码;利用虚拟性可以在必要时更好的控制窗口的活动。而且C+本身所具备的超越C语言的特性都可以使开发者编写出更易用,更灵活的代码。 在MFC中对消息的处理利用了消息映射的方法,该方法的基础是宏定义实现,通过宏定义将消息分派到不同的成员函数进行处理。下面简单讲述一下这种方法的实现方法: 代码如下BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)/AFX_MSG_MAP(CMainFrame)ON_WM_CREATE()/AFX_MSG_MAPON_COMMAND(ID_FONT_DROPDOWN, DoNothing)END_MESSAGE_MAP()经过编译后,代码被替换为如下形式(这只是作讲解,实际情况比这复杂得多):/BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)CMainFrame:newWndProc(.)switch(.)/AFX_MSG_MAP(CMainFrame)/ON_WM_CREATE()case(WM_CREATE):OnCreate(.);break;/AFX_MSG_MAP/ON_COMMAND(ID_FONT_DROPDOWN, DoNothing)case(WM_COMMAND):if(HIWORD(wP)=ID_FONT_DROPDOWN)DoNothing(.);break;/END_MESSAGE_MAP()newWndProc就是窗口过程只要是该类的实例生成的窗口都使用该窗口过程。 所以了解了Windows的消息机制在加上对消息映射的理解就很容易了解MFC开发的基本思路了。 Visual C+开发指南 闻怡洋/文 对Visual C+优点说明介绍 2010-01-14 13:39 佚名 天极 我要评论(0) 本文对Visual C+优点进行学习讲解,在学习研究Visual C+之前,还是先让大家明白什么是Visual C+?以及Visual C+是什么东西。对于Visual C+优点的定义,在这里说一下自己的看法,Visual C+已成为专业程序员进行软件开发的首选工具,所以实际中,更多的是以Visual C+6.0为平台, 这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。在有许多程序开发工具可供选择的今天,强调C/C+是程序程序员所必须掌握的语言难道就没有人真的敢站出来提出质疑吗? 其实,在网络一统天下的今天,任何应用程序都必须经过网络的验证。谁的软件好用,谁就会被认可。为了能达到这样的目标,许多Windows程序员都选择了简单易学、能快速有效地开发的Visual Basic、Dephi等工具。E_book电子阅读器就是其中一例,它是李晓东用VB设计的。 如果这显得太过苍白无力的话,那么让我们先来看看Visual C+,从过去到现在的发展历程。看看它为什么这么发展。众所周知,C语言是在70年代发展的语言,由于当时人们设想一种集低级语言和高级语言优点于一身的语言,于是C语言就诞生。基于它的简结、紧凑、方便和灵活,它很快就成为国际上广泛流行的语言。然而,C语言终究是面向过程的语言,数据和处理数据的程序是分离的。当对某段程序进行了修改或删除时,整个程序中所有与其相关的部分都要进行相应的修改,从而程序代码的维护比较困难。为了避免这种情况的发生。在C的基础上中引用了面向对象的设计方法。它是将数据及处理数据的相应函数封装到一个类中,而使用类数据变量则称为对象。在一个对象内,只有属于该对象的函数才可以存取该对象的数据。这样,其他函数就不会无意中破坏它的内容,从而达到保护和隐藏数据的效果。这就是C+。当然,面向对象的C+还支持多重继承、模板、操作符重载、内联函数定义、预处理、宏、全局静态类变量、嵌套类定义等等。 C+太复杂了,任何一个使用C+开发者的企业必将付出更多的成本,因为优秀的C+程序员是少而又少。基于软件企业化的需要,人们很自然地需要一种简单易用、面向对象、安全灵活的新一代Windows服务(Next Generation Windows Services,简写为NGWS)应用程序的语言,于是C#出现了。它全方位简化了C+的功能,使其具有C+所没有的简单易学的优势。它既没有C+悲剧性的指针概念,也没有类似:、.和-的愚蠢操作。因此我们也可以说,C#才是程序员们所必须掌握的语言。但是,我们不能忽视这一点,语言总归是程序员的工具,谁具有简单易用、支持最新技术并能快速有效地进行软件开发,谁就是程序员的工具。 如果上述的结论还不能接受的话,那么让我们看看现在C+程序员的窘境吧!就目前而言,选择C+就意味着选择Visual C+优点,而不C+ Builder。这是C+程序员第一件让人头痛的事。因为VC与Windows 98/NT同出一炉,相同功能的Visual C+应用程序编译后,其大小要比C+ Builder小得多。不仅如此,其稳定性和完善程序要比C+ Builder要强得多。但是Visual C+这个名字曾误导了很多人,他们认为自己买了一套完全可视的编程系统,类似于Visual Basic,并在刚开始的几天总这样幻想。然而不久,人们认识到他们必须实际编写和阅读C+代码。虽然Visual C+优点向导可以节约时间和提高正确性。但程序员必须理解向导所产生的代码,最主要的,还必须理解Microsoft Foundation Class(MFC) Library的结构和Windows操作系统的内部工作方式。许多C/C+的DOS平台的程序员把这种工作方式评价为枯燥且艰深晦涩的过程。尽管新版本的Visual C+6.0提供了控制台应用程序类型,使DOS程序员能方便地进入MFC应用程序的开发,但仍然不能从根本上改变上述弊端。 选择了Visual C+,就必然选择MFC,一种程序结构,一种编程风格。但由于MFC是OWL同时代的产物,已经落后于VCL一个时代了。从开发出基于ATL的WTL可以反衬出MFC的不足。这恐怕是Visual C+程序员最窘的地方。 但我们暂且不提MFC过时的尴尬,单是稍稍地改变一下应用程序的外观,Visual C+优点已是力不从心了。例如,想要改变控件的字体和背景,你得重新生成一个类,而VB只需更改一下属性。从Visual C+界面设计的网站的火爆可见一斑。 不仅如此,Visual C+程序员也时常感到另外一种尴尬,一个小小的BMP、JPG图片显示,在Visual Basic中轻而易举的事件,到了VC居然需要那么多的代码,而且在数据库应用程序的开发中还常发生许多一些细微的错误,令程序员们大为恼火。更为甚者,如果有人还想用Visual C+编写Internet/Intranet程序的话,那简直就是自寻烦恼。虽然,一个优秀Visual C+程序的薪水要比其他程序员高。但是,他所花费的精力不是其他程序员能比拟的,他不仅需要承担高昂的培训费,而且还要承担90%不成功的概率。这恐怕是想成为Visual C+程序员的人最苦恼的事。当然,我们不是劝你放弃使用C/C+语言,相反还十分支持。因为使用C/C+编写的程序结构和算法能被更多人接受,毕竟C影响了整整20个年头。但是时过今天,我们还能靠它来谋生吗?相信你已经有了自己的答案。当然,我们之所以跳出来,是希望程序员们不单是在这个方面去思考,更主要的是:在我们国家软件发展浪潮到来的今天,我们不能再盲从,我们应该关注软件产业、关注互联网产业、关注信息产业。我们也应该有自己的归宿,难道印度软件大国给我们的启示还不够多吗? 【责任编辑:苏越 TEL:(010)68476606】/art/201001/178446.htmVisual C+ 6.0调试功能 图解教程(1)-快速入门(2)2009-10-20 17:11Debug Menu From MSDN Start Debug Commands (Build menu) Menucommand Action Go Executes code from the current statement until a breakpoint or the end of the program is reached, or until the application pauses for user input. (Equivalent to the Go button on the toolbar.) Step Into Single-steps through instructions in the program, and enters each function call that is encountered. Run to Cursor Executes the program as far as the line that contains the insertion point. This is equivalent to setting a temporary breakpoint at the insertion point location. Attach to Process Attaches the debugger to a process that is running. Then you can break into the process and perform debugging operations like normal. When you begin debugging, the Debug menu appears, replacing the Build menu on the menu bar. You can then control program execution using the commands listed in the following table. Debug Menu Commands that Control Program Execution Debug menucommand Action Go Executes code from the current statement until a breakpoint or the end of the program is reached, or until the application pauses for user input. (Equivalent to the Go button on the Standard toolbar.) When the Debug menu is not available, you can choose Go from the Start Debug submenu of the Build menu. Restart Resets execution to the first line of the program. This command reloads the program into memory, and discards the current values of all variables (breakpoints and watch expressions still apply). It automatically halts at the main( ) or WinMain( ) function. Stop Debugging Terminates the debugging session, and returns to a normal editing session. Break Halts the program at its current location. Step Into Single-steps through instructions in the program, and enters each function call that is encountered. When the Debug menu is not available, you can choose Step Into from the Start Debug submenu of the Build menu. Step Over Single-steps through instructions in the program. If this command is used when you reach a function call, the function is executed without stepping through the function instructions. Step Out Executes the program out of a function call, and stops on the instruction immediately following the call to the function. Using this command, you can quickly finish executing the current function after determining that a bug is not present in the function. Run to Cursor Executes the program as far as the line that contains the insertion point. This command is equivalent to setting a temporary breakpoint at the insertion point location. When the Debug menu is not available, you can choose Run To Cursor from the Start Debug submenu of the Build menu. Step Into Specific Function Single steps through instructions in the program, and enters the specified function call. This works for any number of nesting levels of functions. The following additional commands appear on the Debug menu: Exceptions Displays the Exceptions dialog, which you can use to specify how you want the debugger to handle your program exceptions. Threads Displays the Threads dialog, which you can use to suspend, resume, or set focus to progam threads. Show Next Statement Shows the next statement in your program code. If source code is not available, displays the statement within the Disassembly window. QuickWatch Displays the Quick Watch window, where you can work with expressions. From visual C+ 6.0开发工具与调试 1、 如何快速地规范代码缩进格式 选中所需要规范的代码,按shift+F8 2、 如何在Release状态下进行调试 ProjectSettingProjectSetting对话框,选择Release状态。C/C+标签中的Category选General,Optimizations选Disable(Debug), Debut info选Program Database。在Link标签中选中Generate debug info复选框。 注:只是一个介乎Debug合Release的中间状态,所有的ASSERT、VERIFY都不起作用,函数调用方式已经是真正的调用,而不查表, 但是这种状态下QuickWatch、调用队列跟踪功能仍然有效,和Debug版一样。 3、 Release和Debug有什么不同。 Release版称为发行版,Debug版称为调试版。 Debug中可以单步执行、跟踪等功能,但生成的可执行文件比较大,代码运行速度较慢。Release版运行速度较快,可执行文件较小, 但在其编译条件小无法执行调试功能。 Release的exe文件链接的是标准的MFC DLL(Use MFC in a shared or static dll),比如MFC42.DLL。这些DLL在安装Windows的时候, 已经配置,所以这些程序能够在没有安装Visual C+ 6.0的机器上运行。而Debug版本的exe链接了调试版本的MFC DLL文件,如MFC42D.DLL。 在没有安装Visual C+6.0的机器上不能运行,因为缺MFC42D.DLL等,除非选择use static dll when link。 4、 ASSERT和VERIFY有什么区别 ASSERT里面的内容在Release版本中不编译,VERIFY里面的内容仍然翻译,但不再判断真假。所以后者更安全一点。 例如ASSERT(file.Open(strFileName)。 一旦到了Release版本中,这一行就忽略了,file根本就不Open()了,而且没有任何出错的信息。如果用VERIFY()就不会有这个问题。 5、 Workspace和Project之间是什么样的关系 每个Workspace可以包括几个project,但只有一个处于Active状态,各个project之间可以有依赖关系,在project的Setting.中可以设定, 比如那个Active状态的project可以依赖于其他的提供其函数调用的静态库。 6、 如何在非MFC程序中使用ClassWizard 在工程目录下新建一个空的.RC文件,然后加入到工程中就可以了。 7、 如何设置断点 按F9在当前光标处增加一个断点和取消一个断点。 另外,在编辑状态下,按Ctrl+B组合键,弹出断点设置对话框。然后单击【Condition】按钮弹出设置断点条件的对话框进行设置。 8、 在编辑状态下发现成员变量或函数不能显示提示是如何打开显示功能 这似乎是目前这个Visual C+ 6.0版本的一个bug,可按如下步骤使其正常,如再出现,可如法炮制: (1) 关闭Project (2) 删除工程名.ncb文件 (3) 重新打开工程 9、 如何将一个通过ClassWizard生成的类彻底删除 首先在工作区的FileView中选中该类的.h和.cpp文件,按delete删除,然后在文件管理器中将这两个文件删除,再运行ClassWizard, 这时出现是否移走该类的提示,选择remove就可以了。 10、 如何将再workspace中消失的类找出来 打开该类对应的头文件,然后将其类名随便改一下,这个时候工作区就会出现新的类,再将这个类改回原来的名字就可以了。 11、 如何清除所有的断点 菜单【Edit】【Breakpoints】,打开Breakpoints对话框,单击【Remove All】按钮即可。 快捷键是Ctrl + Shift + F8。 12、 如何再ClassWizard中选择未列出的信息 打开ClassWizard对话框,然后切换到Class Info页面。改变Message filter,如选择Window,Message页面就会出现Window的信息。 13、 如何检测程序中的括号是否匹配 把光标移动到需要检测的括号前面,按快捷键Ctrl + 。如果括号匹配正确,光标就跳到匹配的括号处,否则光标不移动, 并且机箱喇叭还会发出一声警告。 14、 如何查看一个宏(或变量、函数)的定义 把光标移动到要查看的一个宏上,就比如说最常见的DECLARE_MAP_MESSAGE上按一下F12(或右键菜单中的相关菜单), 如果没有建立浏览文件,就会出现提示对话框,按【确定】按钮,然后就会跳到该宏(或变量、函数)定义的地方。 15、 如何添加Lib文件到当前工程 单击菜单【Project】【Settings】弹出Project Setting对话框,切换到Link标签页,在Object/library modules处输入Lib文件名称, 不同的Lib之间用空格格开。 16、 如何快速删除项目下的Debug文件夹中临时文件 在工作区的FileView视图中选中对应的项目,单击右键弹出菜单,选择【Clean(selection only)】菜单即可。 17、 如何快速生成一个现有工程除了工程名外完全相同的新工程。 在新建工程的New对话框中选择Custom Appwizard项,输入新工程的名字,单击【OK】按钮。出现Custom AppWizard项, 输入新工程的名字,单击【OK】按钮。出现Custom AppWizardStep 1 of 2对话框,选择An existing Project项,单击【Next】按钮。 出现Custom AppWizardStep 2 of 2对话框,选择现有工程的工程文件名,最后单击【Finish】按钮。编译后就生成一个与现有工程相同 但可以重新取名的工程AppWizard。 现在就可以项用MFC AppWizard一样用这个定制的向导。如果不想用了,可以在Visual C+ 6.0安装目录下CommonMSDev98Template目录 中删除该Wizard对应的.awx和.pdb文件。 /topics2798323Visual Studio 6.0 三大件之 Visual C+(VC+)、Visual Basic(VB) 和 Visual FoxPro(VFP)简体中文绝对绿色版 云端资源包软件介绍:Visual C+Microsoft Visual C+,简称 MSVC、VC+或VC,是微软公司的C+开发工具,具有集成开发环境,具有编辑C语言,C+ 以及C+/CLI等编程语言的能力。 VC+整合了便利的除错工具,特别是整合了 Windows API、DirectX API 和 Microsoft .NET 框架(6
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 春节主题考试题及答案
- 甘肃高考试题及答案
- 公司委托自然人贷款协议
- 地理题库测试题及答案
- 常年顾问可行性研究报告
- 初级烘焙试题及答案
- 大运会政治试题及答案
- 财务数字化转型的试题及答案
- 班级团体建设与活动安排计划
- 完善客户信息安全保护计划
- 民兵理论考试试题及答案
- 2025年人力资源管理师考试相关试卷及答案
- 2025年5月12日全国防灾减灾日主题宣教课件
- 2025+CSCO非小细胞肺癌诊疗指南解读 课件
- 弧形闸门埋件安装单元工程质量评定表
- 黑龙江省自然科学基金项目申请书联合引导项目JJSBYB
- 英国食物介绍british-food(课堂)课件
- 神经系统疾病的康复课件
- DB32 4181-2021 行政执法案卷制作及评查规范
- 涉密文件借阅登记表
- 布草洗涤服务方案完整版
评论
0/150
提交评论