1

随想录(用好Visual Studio开发平台)

 3 years ago
source link: https://feixiaoxing.blog.csdn.net/article/details/104076347
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

随想录(用好Visual Studio开发平台)

original.png
费晓行 2020-01-23 16:31:55 articleReadEyes.png 1734
分类专栏: 随想录

【 声明:版权所有,欢迎转载,请勿用于商业用途。  联系信箱:feixiaoxing @163.com】

    从2003年上大学,第一次写下"Hello, world",到现在已经过去了17年。还记得第一次编写代码时,使用的开发软件就是VS6。对于很多人来说,这是一个不能再古老的软件了。不像现在脚本使用这么普及,那个时候大部分的编译器还是c、c++编译器为主。除了微软的vs,还有borland的c++ builder,intel的c编译器、gcc的c和c++编译器等等。然而,17年后的今天,大部分人在windows平台习惯的开发工具还是VS,从vs6.0、.net2003、vs2005、vs2008、vs2010、vs2012、vs2013、vs2015、vs2017、vs2019,中间经历了太多的版本。只要你能够熟练掌握一个版本,后续版本的学习几乎不要花费什么成本,我想这就是学习vs最大的优势。

1、vc定期更新

    很多编程语言都会定期更新标准,包括c、c++都是这样。所以,每一次标准的更新,就需要最新的编译器和它进行适配。否则,很多最新的语法和规则是没有办法通过的。

2、SDK的升级

    除了编程语言之外,vs升级的另外一个重要功能就是对os平台的支持。就像你不能要求vs6支持最新的os一样,如果你非得这么做,那么只能安装最新的windows sdk了,一般目录安装在C:\Program Files (x86)\Windows Kits下面。这个时候,如果安装的是最新的VS软件,那么就会默认安装最新的SDK软件,就没有了这样的烦恼。

3、方便的调试环境

    有很多朋友是在开发板上做嵌入式上开发的,除了jtag之外,最好用的调试手段只能是printf打印了。这个时候,如果能够在vs上面做一部分仿真,我想vs上面友好的调试环境会让他耳目一新的。

4、亘古不变的mfc

    很多朋友都不喜欢mfc,觉得mfc就是一种奇怪的代码架构。但是,我们不得不说,有了mfc,大家可以专注在自己的业务上面,不需要从头再来编写GUI程序。如果开发的只是简单的工具类软件,那么mfc的开发实在是太方便了。基本上,你在开发上面遇到的任何问题都可以用搜索引擎找到答案。mfc的动态库一般安装在C:\Windows\System32下面,相关源码和头文件、静态库在安装目录下面也都可以看到,所以说对于mfc,如果真的想掌握好它、用起来,应该不是很难的事情。

5、高超的软件架构能力

    除了我们知道的Visual C++之外,本身Visual Studio还支持Basic、C#、J#、F#等多种语言。同时,它还需要兼容之前的老工程、老项目。比如说,你Visual Studio 2019不能放弃兼容之前已有的软件项目吧。要是真这么做,那么微软的用户还不吵翻了天。微软本身支持这么多硬件、这么多语言、这么技术方案,本身的架构能力就是首屈一指的。虽然,有一句话说,所谓的软件重构就是不断添加新的软件抽象层,但是如果不能理解客户的需求、缺少对硬件知识的理解,所谓的架构也支持空中楼阁,没什么大用场。

6、支持所有的软件开发

    除了基础的图形界面开发,VS还支持3d游戏开发(direct x)、驱动开发(ddk)、插件开发(atl、ocx)、自动化测试(automatic test)、版本管理(vss、git)、性能分析等很多功能。基本上说,除了自己没有想到的功能,VS可以帮助你完成任何你想做的事情,包括操作系统的开发。之前,我就在vs上面实现了rtos的仿真。

    当然,也会有同学从心底里抵触商业软件,VS在它们看来一方面太贵,另一方面安装的空间太大,使用上没有gcc、gdb使用方便,GUI也不好开发,其实这些就见仁见智了。作为一个系统软件来说,它需要兼容历史版本的包袱,又要开发新的功能吸引开发者的注意,老的文件不能删除,新的接口又要继续开发,所以安装文件越来越多也是意料之中的事情。

    对于个人未来的发展来说,只要windows平台还在不断更新,VS软件还要继续开发和维护,所以那些经典的C语言规则、lib&dll开发方法、mfc开发框架,不妨多多掌握,随着时间的推移,其实学习的成本就会不断被摊薄,收益很高。和gcc、eclipse这些开发平台一样,未来的一段时间内,VS仍然会广泛地活跃在我们身边。

    现在的软件开发方法很多,除了c、java这些传统的手段之外,各种脚本比如python、perl、js、lua、tcl也是各有各的用途。这些都不是最重要的,对于真正的工业软件来说,c和java才是最重要的手段。这个时候,VS也还是你的好帮手。

    即使是做嵌入式开发的朋友,在熟悉linux kernel、开发驱动、学习上层软件、构建网络系统之外,不妨多多掌握windows技术,比如一般的、通识的、常用的VS技术就不错,学习成本不高、马上可以上手,这也算VS很大的一个优点。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK