為什麼都2015年了,學校裡面的開發還是用vc6?

最近去某大學做項目,為軌道交通系開發圖形界面。但是發現明明已經是2015年了,確依然要求用vc6和mfc來開發,不建議用vs也不讓用其他的gui庫。

如果說學校教學依然用老版本是因為教材和考試我可以理解,那為什麼項目開發也依然用老久的?

另外想詢問一下,如果我個人用vs2013開發,然後發布的時候回到vc6會不會有很大的問題?

還有就是如果我學習的是vs下的mfc,會不會影響在vc6下的使用?還是說我應該去學習上古版本的mfc?(我並不是初學編程,只是以前有關於C++方面的開發大部分是直接在GCC下用opengl或者在windows下用QT開發,沒有用過MFC)

PS:大家很多的回答說因為考試要求,我並不是學生,只是過去幫忙做項目開發,去的項目組裡面其他就算有學生也已經是博士生了,所以不會涉及到國家的計算機考試。


你的實驗室你的導師很可能承接了一個生產系統的項目,這很正常,你的程序說不定最後就跑在了某城市正在運行的地鐵系統里。

不管是交通控制還是售檢票,你要考慮具體這個圖形程序跑在什麼設備上,軌道交通上有大量的設備跑的是低版本的Windows,什麼自助售檢票機進出站閘機各種監控的展示的屏幕,甚至銀行的atm機,都是,98,xp, Embedded版本的。這些設備性能很差,包括大量pc,沒有升級的條件,況且根本沒有升級的必要。

建成年代可能就是十年前了,所以說我們寫代碼的也要按照基本法,考慮歷史的進程。你覺得你寫個winform擼了WPF爽了,但是人家用不了。讓你用vc6寫mfc就寫,不要總想搞個大新聞,把北京交通大學批判一番。


其實你可以放心,教的內容還不如vc6新呢。IDE/compiler不是你最應該擔心的。


聽說mfc都已經死差不多,你還是別學了。

這種項目,有可能是有歷史的兼容性背景的,所以才。。。

我還聽說過最近一套windows3.1的操作系統掛了,導致某機場系統崩潰的事情


說說我遇到的類似情況。

公司為何還在堅持用vc6?因為一直沒升級vs,等到要升級時,發現真的太痛苦了。vc6之後的幾個vs在mfc的使用上缺失了某幾個嚮導界面,導致用起來特別不爽。到了2010才在界面操作上和vc6比較一致。這時候再升級,簡直.…光for循環就改得累死…

然後,mfc的版本升級也充分利用了vc對c++的支持程度。升過級的十有八九會發現,message map宏框起來的代碼里都會岀編譯錯誤。

另外,項目代碼里也有可能摳岀了一部分mfc私有代碼,導致升級到高版本時,代碼不兼容了,怎麼改,一時半會兒又搞不定。於是只能用vc6。

就算解決了說到的這幾個問題,一般來說,編譯岀來的exe運行起來,也特別不穩定。

不要問我為啥知道這麼多,因為我親自操刀做過vc6轉2010…往事不堪回首?(?﹏?)?

從2013開發到vc6發布的問題。可能會遇到問題。比方說,新增了類和api介面。當然,最主要的問題我覺得還是模板。vc6那個模板,真的能岀翔。所以如果使用了很多模板,只能自求多福了。

至於學習mfc,用2013還是上古版本,我覺得都一樣。因為有用的書就一本…侯捷的《深入淺岀MFC》。這本書倒是比較配vc6的實現。

另外mfc能不學就不學,好像沒啥用啊。


工具而已,我有時候些html代碼還是用的文本編輯器


MFC很多年沒變了,原來用vc6、2003、2005、2008都做過,沒有任何區別,我記得2010出來時mfc有點修改,好像只是增加了預置的界面風格,絕大多數情況下用2015和vc6做出來的沒有本質區別。

MFC本質上是對windowsAPI的封裝,能做的東西還是要看windows的版本。

你用2013開發再轉到vc6,源碼應該沒問題,但是要重新配置vc6的工程,有些麻煩,所以建議不要這麼做。

項目堅持用vc6,一般是因為vc6足夠滿足項目需求,原項目人員又熟悉vc6,所以就沿用下來了。而且有的人非常守舊的,甚至排斥新事物。若干年前我在的公司當時用的是vc6,然後我開始在新項目中使用2003,一個同事對我在界面上點標籤頁的操作方式非常不齒,寧願alttab切來切去。而且這同事一直堅持用xp,在2012年才把系統換成win7。


用戶要求的,要穩定。

軌道交通啥,原屬於鐵道系統,半軍事化管理,保密性要求強。

硬體設備多年不升級(現在應該都是XP系統),軟體升級據說審批要大半年。

之前在此類軟體企業上過班,不能換工具,不能讓用戶換硬體設備,

而且有些設備是部署在深山老林無人區裡面,去跑一趟,成本極高。


msvcrt.dll、msvcp60.dll、mfc42.dll、msvbvm60.dll等是至今全部系統都自帶的dll,無需部署雙擊EXE就能用的。如果要求是win32平台、兼容舊系統、又不能背一堆鏈接庫,那麼vb6、vc6是選擇。

.net大法雖好,但xp自帶的是1.1和2.0不兼容,win7帶了3.5不錯但win10又砍掉了。甚至有用戶的「精簡版」系統根本裝不上.net。


老的機器,老的操作系統,或者跟舊的軌道交通軟體兼容。多少原因都要用老版本。正常


直接升級到高版本的VS,MFC代碼兼容性很好的。可能要注意就是,編譯出來的程序是不是需要在XP之前的糸統跑起來。


畢竟學校


目測是我交←_←

每次做項目看到過去的源碼都有一種吃翔的趕緊ヽ(`Д′)?

感覺鐵總腦子有問題,這都多少年了= =|||


大學教育水很深。

正確使用方法是編輯器+編譯器。


某高中,現在用vb。。

依然用XP,512m內存,單核

我懷疑能不能帶得動


不止學校,若干國有集團都這樣


穩定 對電腦的 要求不高, 經典 就這樣...... 我能說 3D max 都2015 款了 ,好多人還在用 08 09 款的 .


容易上手么


項目使用低版本的開發工具,可能是為了兼容低版本的操作系統;

有一些數據結構定義不一樣,平常使用 vs 發布使用 vc6 可能會帶來問題,比如獲取時間的函數和數據結構;

如果你還在學習階段,不如先學習 vc6,反而是 vs 中存在很多概念,給入門的學習和開發帶來麻煩;

最後說一點可能無關的話,通常喜歡使用鍵盤的人習慣使用 vc6,喜歡使用滑鼠的人習慣使用 vs

=======

除了上面說的不同,vs 預設使用帶 _UNICODE 宏的配置,vc6 預設使用 _MBCS 宏的配置,for 循環的規範在 vs 和 vc6 也不同,.def 文件的處理方式不同,消息映射的宏使用有一點區別,編譯的優化方式也不一樣


推薦閱讀:

樹莓派做集群的意義?
如何評價 MATLAB R2016b ?
c++ 臨時變數問題?
為什麼 Python 現在(2015年)越來越火了?
想提高編程能力,請大家評價這種學習方法是否可取?

TAG:編程 | 計算機 | MFC | CC | VisualC |