隨想錄(用好Visual Studio開發平臺)

【 聲明:版權所有,歡迎轉載,請勿用於商業用途。  聯繫信箱: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很大的一個優點。

 

 

發佈了558 篇原創文章 · 獲贊 3631 · 訪問量 475萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章