《Visual C++ 开发从入门到精通》——1.4 技术解惑

简介:

本节书摘来自异步社区出版社《Visual C++ 开发从入门到精通》一书中的第1章,第1.4节,作者: 王东华 , 李樱,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.4 技术解惑

Visual C++ 6.0开发技术博大精深,能够用于多个领域,因此,一直深受广大程序员的喜爱。作为一名初学者,肯定会在学习过程中遇到很多疑问和困惑。为此,在本节的内容中,作者将自己的心得体会传授给大家,帮助读者解决困惑。

1.4.1 学习C++是否有用

下面就介绍一下C++的优势,以增强大家学习的信心。

(1)C++是一门全能的语言

首先我们先要知道C++是一门什么语言,简单来说,C++是一门接近于全能的语言。为什么说是接近呢?因为C++有一门语言是无法取代的,那就是汇编。再直白点来说,汇编对于寄存器的操作,C++是无法胜任的。

“接近”可以理解了,那么“全能”呢?大家都知道,C++是兼容C语言的。不严谨地说,大家可以简单地认为C只是C++的一个子集,所以C能做的C++也能做。

(2)桌面应用的优势有多大。

目前在桌面领域,C++确实还能占有一席之地。但这仅有的一席之地,也岌岌可危。在Windows XP之前,因为系统都是没有预装.NET Framework,所以C++的对手无非就是Visual Basic,但后Windows XP时代就不一样了。Vista便已经预装了.NET Framework,更不用说Windows 7了。看起来,今后在桌面应用领域,C++还能有很大发展空间的,也许就剩下大型的3D游戏了。虽然用.NET配合OpenGL或Direct3D也能做C++的事,但效率却会大打折扣。虽然随着硬件的不断提升,这折扣会不断缩小,但毕竟还是存在的。

(3)C++是嵌入式领域开发的乐土。

嵌入式领域是C++的天下,我们可以看Windows的内核代码、看Windows的BSP包,全部清一色的C++。

(4)C++很简单。

C++的入门很简单,但学好却很难,这是因为C++太灵活了。对于一种功能,C++有各种各样的方法,比如,传递给函数的形参,有时候该使用指针,有时候却该使用引用,就连平常得再也不能平常的指针转型,有C的括号形式,还有C++特有的dynamic_cast和reinterpret_cast,究竟哪个才是该使用的?更不用说分配内存了,既有malloc,又有new,如果算上STL的话,还有一个 resize。

C++还有更让初学者迷惑的是,即使不用STL,不用类,不用虚拟继承,甚至不用C++的一切特性,也能够完成相应的功能。

学好C++的方法有很多,仁者见仁,智者见智,但有一点是共通的,那就是多看书。只要仔细阅读本书,吸收并消化,相信一定能学好C++。

1.4.2 解决Windows 7安装Visual C++ 6.0的兼容性问题

有很多初学者提出了Windows 7下安装Visual C++ 6.0不兼容的问题。为了说明这个问题,下面以Visual C++ 6.0简体中文企业版为例,讲解在Windows 7系统中的安装过程。

(1)运行setup.exe安装程序,弹出如图1-63所示的程序兼容性助手提示框,这是Windows 7在警告用户Visual C++ 6.0存在兼容性问题。选中“不再显示此消息”复选框,单击“运行程序”按钮。


f5e2e2a8a90062ad8bd2bfc11b0593032729fb95

图1-63 兼容性助手提示框

(2)进入选择安装类型对话框,在此要选择Custom安装类型,如图1-64所示。


d9d87bb5ba765c705bf688b83cc82349a380fbfc

图1-64 选择Custom安装类型

(3)在Custom安装里选择Tools组件,然后单击“更改选项”按钮,如图1-65所示。


0efc23ed81de4f68e0a16aada9b42d7ab3176230

图1-65 单击更改选项按钮

(4)在弹出的新界面中,取消选中OLE/Com Object Viewer复选框,如图1-66所示。


017141ae8aea9ebbe236e49ce865e463403e198e

图1-66 OLE/Com Object Viewer复选框

如果再返回到组件选择界面时,Tools复选框就变为灰色的了,因为我们取消选中了OLE/Com Object Viewer,如图1-67所示。


6469b9089206b2e719e7cfef4a59e9f2f8ec967f

图1-67 选项变灰色

(5)接下来的步骤按照默认选项安装即可,最后会出现安装成功的提示,如图1-68所示。


a87e9cc57d9ad104859963d0c9bfd33b00378c92

图1-68 安装成功提示

(6)安装完成后,启动Visual C++ 6.0的时候,会出现“此程序存在已知的兼容性问题”的提示。选中“不再显示此消息”复选框,单击“运行程序”按钮,如图1-69所示,此时会成功地打开安装的Visual C++ 6.0。


a1697233a10253384cf7501e208e4ddb94841339

图1-69 选中“不再显示此消息”复选框

1.4.3 怎样学好编程

学习程序开发之路是充满挑战的,枯燥的代码和烦琐的调试有时会使你感觉到无味;但同时也充满着乐趣,每一个功能的调试成功都会使你充满自豪和成就感。作为一名初学者,该怎样学好编程呢?下面给出几点建议。

1.培养兴趣
兴趣是我们学习任何知识的动力,在现实中,往往我们会对喜欢的事情充满热情,也乐于耗费精力。对于编程来说,只要你喜欢感受那调试成功的喜悦,就说明你已经对编程产生了兴趣。而调试成功的喜悦会让你更加喜欢编程,从而带来更多的成就感。

2.多看代码,多实践
当有一定的语法基础以后,一定要多看别人的代码,其目的是掌握程序的结构和流程,看完之后需要自己动手实践。程序开发讲究精细,哪怕是一个标点的错误都不会调试成功。有人说学习编程的秘诀是编程、编程、再编程,练习、练习、再练习,这就充分说明了实践的重要性。

在刚开始学习编程的时候可以练习一些习题,如果遇到不明白的地方,最好编写一个小程序进行验证,这样能给自己留下深刻的印象。动手的过程中要不断纠正自己不好的编程习惯和认识错误。在有一定的基础以后,可以尝试编一点小游戏、由几个网页构成的简单站点。基础很扎实的时候,可以编一些大型系统或桌面程序。也可以利用网上丰富的源代码资源,获取后分析这些代码。

3.脚踏实地,稳扎稳打
欲速则不达,这在学习编程时也是如此,不能刚学会了基本语法知识,调试成功了几段代码,就感觉自己学会该种语言了,要脚踏实地地学下去,打好基础,学好基本语法,方能确保自己更好地掌握这种语言。

本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

相关文章
|
2月前
|
机器学习/深度学习 算法 算法框架/工具
为什么使用C++进行机器学习开发
C++作为一种高性能语言,在某些性能要求极高或资源受限的场景下也具有非常重要的地位。C++的高效性和对底层硬件的控制能力,使其在大规模机器学习系统中发挥重要作用,尤其是当需要处理大数据或实时响应的系统时。
41 3
WK
|
9天前
|
机器学习/深度学习 人工智能 算法
那C++适合开发哪些项目
C++ 是一种功能强大、应用广泛的编程语言,适合开发多种类型的项目。它在游戏开发、操作系统、嵌入式系统、科学计算、金融、图形图像处理、数据库管理、网络通信、人工智能、虚拟现实、航空航天等领域都有广泛应用。C++ 以其高性能、内存管理和跨平台兼容性等优势,成为众多开发者的选择。
WK
28 1
|
1月前
|
Rust 资源调度 安全
为什么使用 Rust over C++ 进行 IoT 解决方案开发
为什么使用 Rust over C++ 进行 IoT 解决方案开发
59 7
|
2月前
|
存储 算法 C++
C++提高篇:泛型编程和STL技术详解,探讨C++更深层的使用
文章详细探讨了C++中的泛型编程与STL技术,重点讲解了如何使用模板来创建通用的函数和类,以及模板在提高代码复用性和灵活性方面的作用。
49 2
C++提高篇:泛型编程和STL技术详解,探讨C++更深层的使用
WK
|
8天前
|
开发框架 移动开发 Java
C++和Java哪个更适合开发移动应用
本文对比了C++和Java在移动应用开发中的优劣,从市场需求、学习难度、开发效率、跨平台性和应用领域等方面进行了详细分析。Java在Android开发中占据优势,而C++则适合对性能要求较高的场景。选择应根据具体需求和个人偏好综合考虑。
WK
18 0
WK
|
9天前
|
安全 Java 编译器
C++和Java哪个更适合开发web网站
在Web开发领域,C++和Java各具优势。C++以其高性能、低级控制和跨平台性著称,适用于需要高吞吐量和低延迟的场景,如实时交易系统和在线游戏服务器。Java则凭借其跨平台性、丰富的生态系统和强大的安全性,广泛应用于企业级Web开发,如企业管理系统和电子商务平台。选择时需根据项目需求和技术储备综合考虑。
WK
10 0
|
2月前
|
C++ 内存技术
[转]Visual C++内嵌swf文件并播放
[转]Visual C++内嵌swf文件并播放
|
24天前
|
NoSQL API Redis
如何使用 C++ 开发 Redis 模块
如何使用 C++ 开发 Redis 模块
|
2月前
|
物联网 C# C语言
物联网开发中C、C++和C#哪个更好用
在物联网(IoT)开发中,C、C++和C#各有优缺点,适用场景不同。C语言性能高、资源占用低,适合内存和计算能力有限的嵌入式系统,但开发复杂度高,易出错。C++支持面向对象编程,性能优秀,适用于复杂应用,但学习曲线陡峭,编译时间长。C#易于学习,与.NET框架结合紧密,适合快速开发Windows应用,但性能略低,平台支持有限。选择语言需根据具体项目需求、复杂性和团队技术栈综合考虑。
|
2月前
|
Java Android开发 C++
🚀Android NDK开发实战!Java与C++混合编程,打造极致性能体验!📊
在Android应用开发中,追求卓越性能是不变的主题。本文介绍如何利用Android NDK(Native Development Kit)结合Java与C++进行混合编程,提升应用性能。从环境搭建到JNI接口设计,再到实战示例,全面展示NDK的优势与应用技巧,助你打造高性能应用。通过具体案例,如计算斐波那契数列,详细讲解Java与C++的协作流程,帮助开发者掌握NDK开发精髓,实现高效计算与硬件交互。
114 1