[C++]Detect Memory Overrun Errors with PageHeap

Pageheap工具能輔助C++開發人員偵測難以察覺的記憶體越界錯誤,工具程式可至這邊下載。 ...

November 28, 2011 · Larry Nung

[C++]Monitor File System Changes with the ReadDirectoryChangesW API

在C++中若想要監控檔案系統改變有很多方法,可以用FindFirstChangeNotification取得檔案變更、或是Hook底層的API等方法來實現,這邊使用ReadDirectoryChangesW API來實現,該API使用前必須先加入Kernel32.lib。 ...

November 13, 2011 · Larry Nung

[C++]Simple nativated timer class

從.NET跨足到C++筆者還是不太習慣C++的寫作方式,比較習慣於用.NET的寫法來寫C++程式,既然C++也開始具備屬性跟事件,C++也能寫的跟.NET程式很像。這邊筆者試寫了一個簡單的C++ Nativated Timer,希望使用上會比較接近.NET的寫作習慣,這邊將之稍做整理。 ...

November 5, 2011 · Larry Nung

[Visual Studio][C++]Inspect Header Includes with the /showIncludes Compiler Option

C++程式寫到後面,程式越寫越大,開發人員常會無法掌握每個Header實際Include的狀態,一不小心就會發生Redefine之類的錯誤。這時候我們可以開啟Visual Studio,打開專案屬性設定對話框,切至[Configuratio Properties / C/C++ / Advanced]頁面,將[Show Includes]選項設為Yes (/showIncludes)。 ...

November 5, 2011 · Larry Nung

[C++]Use the Cppcheck Static Analysis Tool to Find Potential C++ Problems

Cppcheck是開放源碼的靜態分析工具,可用於分析C/C++的程式。跟一般的編譯器所具備的靜態分析功能不同的是,Cppcheck被定位在專門偵測編譯器一般偵測不到的問題,所以能幫我們檢查出程式中是否有記憶體洩漏、未初始的變數或是未使用到的方法、或是存取位置超出範圍…等等,而像是語法錯誤這類編譯器能偵測到的問題Cppcheck就不提供了。主要能偵測的有下面幾項: ...

October 29, 2011 · Larry Nung

[C++]C++ Nativated Property With Event Code Snippet

筆者在[C++]C++ Nativated Property Code Snippet這篇整理過了Nativated Property的程式碼片斷,但只是便於建立很單純的屬性,若要在屬性中觸發事件就必須要自己下去處理。這邊筆者也稍微將這樣的需求整理一下,程式碼片段的XML內容如下: ...

October 14, 2011 · Larry Nung

[C++]C++ Nativated Property Code Snippet

Visual Studio 2011 Preview開始支援C++的Code Snippet,開發人員可以將自己常用的功能寫成Code Snippet加速專案的開發。由於筆者在開發Nativated C++時,常會需要撰寫Nativated Property,故將其整理為Code Snippet,Code Snippet內容如下: ...

October 13, 2011 · Larry Nung

[C++]C++ Create GUID

在C++中若有建立GUID的需求,可先建立GUID的物件實體,透過CoCreateGuid API填寫GUID到GUID的物件實體,再透過UuidToString API將GUID轉為字元陣列,像是下面這樣: ...

October 13, 2011 · Larry Nung

[C++]C++ Simple Lazy class

延遲載入是程式寫作時很重要的一個概念,能讓物件要用在建立,避免不必要的運算。這篇簡單示範一下如何使用VC++ 2010以後的Lambda表示式撰寫C++版本的Lazy類別,透過std::function與template搭配使用,可以將lambda或是Callback Function儲存,當物件要建立時再透過剛儲存的初始動作執行。 ...

September 28, 2011 · Larry Nung

[Visual Studio]Visual Studio 2011 Preview New Feature - C++ IDE improvements

Visual Studio 2011 Preview對C++的開發做了些改進,有些改進的是從VC6開始就存在的問題,像是Intellisense彈不太出來,或是Intellisense不夠聰明,在Visual Studio 2011 Preview都做了改善,為C++開發人員提供了更友善的開發環境。這邊筆者在此篇做些簡單的整理與介紹: ...

September 25, 2011 · Larry Nung