剛開始學C 語言時,其實是學Turbo C 的。
要學視窗時,一開始也是從VB接觸的,後來因為講求專業分工之下。
就很少碰到PC 端的軟體開發環境,但後來學USB 時,因為有時老是受不了
軟體工程師的一些介面整合,就只好硬著頭皮自己自學慢慢接觸 VC...
因為從軟體工程師那邊移交過來的開發環境就是VC 6...一做就是好長的一段時間:
您看VC++ 6 是 1998 年出的軟體...我用他寫了USB ROMTER II 的應用程式,
也利用他發表了許多關於USB DIY 的內容。後來也寫了第一代多核心的IDE 開發環境。
當然也知道後來有出VS 2005 ...但是因為VC6 一直用得很順手,也沒有多大問題。
您看一用就用了十幾年了...心裡想:應該是真的夠用了,老了,就不要老是要跟流行
學一些新的東西,要不然真的會學不完的。
----
結果沒想到...還是栽在USB 的應用裡,其實我也沒有真正的抓到問題點出在哪?
那是因為有位熱心的網友跟我討論一些USB HID 的東西,我當初也是用SiLabs 原廠
的範例程式下去改一些USB HID 的應用程式,發現在他Windows 7 的環境裡...
跑起來怪怪的...這位熱心的網友就很熱心幫我把這一個程式環境轉到他的VS2010 裡,
重新整理一下,然後再跑一次,竟然就沒事了...
當然以C 語言來說:他的程式可攜性是很高的。理論來說:該沒有多大問題。
這是理論。但我想如果是純軟體應用程式應該差異不大,但如果是牽涉到一些周邊條件
的話,譬如就像我常用的 USB 開發環境,那就很難說了。前兩天我不是有提到
那個Multi-thread 的東西嗎?!您想想看:VC6 出來時,那時哪有多核心的東西。
那時軟體工程師一直跟我解釋說:所謂Thread 的程式,您就把他當作有另一棵
CPU 處理器再幫您跑程式就對了。而很不幸的,SiLabs 原廠提供的第一代 USB HID
範例程式就是用Thread 在處理 Interrupt In Token 的資料處理。
之前軟體工程師就一直告誡我說:用Thread 程式來處理周邊裝置時,
您真的要小心一點....什麼是"要小心一點"?對我這個半調子的軟體玩家,怎麼小心?!
出了問題當然就掛了啊。
那我當然要乖一點。就直接聽人家的建議:您的VC 開發環境該升級了啊!
後來我就打個電話給我USB 軟體的啟蒙工程師問說關於這件事時。
他竟然也回答我說:啊~您還在用VC6 喔?!我已經換成 VS2008 很久了啊。
唉~果然注定是個歹命工程師。看來也得升級了。
至於該如何升級?!嘻~嘻~這就是這些軟體工程師大家都知道的『不能說的秘密』。
他們合理的解釋是說:可能反正現在還有工程師願意留在PC 產業裡發展寫應用程式,
而不去投靠iOS 或是 Android 陣營的...對M$ 來說:已經是阿彌陀佛了。
所以,我現在也算是大躍進:從1998 VC6 跳到 VS 2008...十年大躍進。
其實剛開始還是有點不太適應這個新環境...但我說了:只要您找一個明確的系統應用個案。
很快的您就可以好好駕輕就熟了。當然重點是:其實大部分的VC6 的程式 VS2008 都
能吃得下。重點還是我說的:這十幾年來PC 的CPU 處理器有很大的進展,或許真的
那個舊版的 VC6 已經不合時宜了。
以M$ 的官方說法,也是強烈建議大家從VC6 轉換成 VS2008 ...尤其是您碰到
Win7 (VISTA) 的作業平台。看來為了大家USB DIY 未來的發展,大家還是
跟著腳步吧!....若以USB 系統發展來說:感覺至少應該比VB 好一點吧。
還是大家有更好的建議呢?!