2016年5月26日 星期四

[心得] Forward Declaration

最近跟美國的某同事跨海在解決程式上編譯的問題時,他請我用 Forward Declaration 或是把 Include 放到 CPP 裡面。

恩~什麼是 Forward Declaration,在網路上查到個文章:
程序員筆記: forward declaration: 一個小技巧,說真的,在我得知這個技巧時還蠻驚訝的 :P 驚訝之餘也感嘆自己見識太少與能力不足, 竟然有如此巧妙的技巧可以取代我一直覺得理所當然的事
看了一下原來是早已習以為常的一個使用方法,很快的我把程式裡對應的部分修改了一下,但還是有些問題沒解決,主要是雖然把 Header 檔案移至 CPP 裡面了,但不幸的是專案同時有兩個 CPP 檔案同時用了相同的這個 Header 檔案,而這個 Header 檔案裏面包含 class 的實作,所以會出現兩個 OBJ 檔案同時存在相同的實作,造成連結時發生錯誤!這要注意一下!並不是所有的 Header 檔案都適合使用這種方式遷移的!

2016年5月19日 星期四

[教學] Windows 7 補丁懶人包 (KB3125574) 無法安裝的解決方式

今天在癮科技上面讀到「微軟推出 Windows 7 補丁「懶人包」,五年份更新一次到位」,但實際測試卻無法在乾淨的環境上面安裝它,這是為什麼呢?

很簡單,因為它忘了告訴你必須需要先安裝「KB3020369」,在懶人包原文中有提到:
To apply this update, you must install the April 2015 servicing stack update for Windows 7 (KB3020369).  You can read more about the Convenience rollup update for Windows 7 SP1 here.
它的意思就是說,在安裝這個懶人包之前,必須先要確定有安裝「KB3020369」,才能夠使用這個懶人包!

所以我們該怎麼做呢?先至「KB3020369」的說明頁面如下圖紅圈處下載對應的系統版本所使用的更新檔案:

怎麼判斷系統是哪一個這裡就不多說了,就算不知道也沒關係,都下載回來跑看看就對了,反正也不大,全部下載回來也不過 35 MB有找!

所以更新的步驟如下:
  1. 安裝乾淨的系統 Windows 7 SP1
  2. 安裝「KB3020369
  3. 安裝「KB3125574 Windows 7 補丁懶人包
這樣就不會發生無法安裝的窘境了!