原创 理解數據對齊
爲什麼會產生數據對齊問題 8位CPU 當然不會產生數據對齊問題,當CPU發展到16,32位時,因爲CPU的一次內存訪問就能取回4個byte(且用
原创 多線程編程的一點討論
本來列下如下題目甚至更多,沒有時間去整理。 簡單說說吧: 一、線程帶來的好處是低計算任務環境中的快速響應(如:GUI)和多CPU的
原创 系統理解Win32 API和MFC(上)
作者: 溫昱 作者主頁: lcspace.diy.163.com Win32 API是微軟的操作系統Windows提供給開發人員的編程接口,它決定了我們開發的Windows應用程序的能力。MFC是微軟爲開發人員提供的類庫,在某種意義
原创 系統理解Win32 API和MFC(下)
作者: 溫昱 作者主頁: lcspace.diy.163.com 二、MFC的概念模型 前面我們研究了WIN32 API的“領域模型”,對它有較全面的認識。下面,對MFC概念模型的研究,我們把重點放在對app f
原创 內存泄露檢測
內存泄露是許多大規模程序中亟待解決的問題,下面是一點資料整理,幫我記憶吧。有VC自帶的工具,也有免費的比較成熟的工具。控制檯程序編譯即可看到效果。 // = MemoryLeakDetect.cpp /// 去掉註釋觀察VS2
原创 ACE編程準則全記錄(一)--反應器
前言 ACE框架的使用是相互依存的,各個框架通過遵循一定的準則來相互配合,共同完成特定的功能。如果你違反了這些約定,幸運的話在調試期可以發現錯誤(程序的崩潰),不幸的話在程序運行期發生不希望看到的結果(如連接無法正常關閉)。本系
原创 VS2005 應用配置不正確 清單(manifest) R6034
現象 用VS2005編譯的程序部署到某些系統(XP、Win2003)中常會遇到#1“ 應用程序配置不正確,程序無法啓動,重新安裝應用程序可能會修復問題。”或者#2“沒有找到MSVCR80.DLL,因此這個應用程序未能啓動。重新安裝應用程序
原创 算術表達式二叉樹表示
這是在學校時作爲一個熱心人在CSDN論壇上解決的一個問題,最近用到了這個算法,重寫看來是有難度了,之前沒留過這些代碼,好在論壇上還能搜到。看看以前寫的代碼,很有意思啊:)還是留在我的地盤比較放心,copy/
原创 完成端口使用總結
前言 本文不是全面介紹完成端口的,只是簡單介紹了一下完成端口和幾個常用概念。本文主要關注完成端口關閉時資源釋放問題。 基礎介紹 完成端口——可能是Win32下最複雜的一種I/O模型,Win32下最複雜的內核對象。它通過指定數量
原创 模板拷貝構造與賦值的不對稱
今天看了More Effective C++附2中關於auto_ptr的實現,試了一下發現了個很有趣的問題,代碼如下: template<class T>class auto_ptr ...{public:
原创 應用程序正常初始化失敗 VS2005
現象 XP下(通過VS2005編譯並調試)運行(FreeImage的TestAPI)程序,出現“應用程序正常初始化失敗。請單擊“確定”,終止應用程序”。 (調試窗口中輸出:LDR: LdrpWalkImportDescriptor() f
原创 調試中不能正確引入符號表
問題 調試包含其他庫(如:MFC、ACE、MYSQL)的工程時,常常會遇到無法找到符號表的情況。這種情況下你就無法觀察到程序的運行時堆棧,變量內容等信息。 原因 符號表(VC、.NET中*.pdb文件)文件沒有正確引入
原创 Windows網絡編程示例二——反應式echo服務器
代碼組織上不是很合理,很多細節沒有注意,只是作爲一個演示記下反應式I/O的一種使用模式,通過telnet作爲客戶端演示之。 /**//** * 基於反應式I/O的echo服務器。監聽端口5432,CTRL
原创 ADO數據庫編程
導入ADO接口#import "C:/Program Files/Common Files/System/ado/msado15.dll" no_namespace rename("EOF", "adoEOF") rename("BOF"
原创 實例演示--vector與內存管理
由於本面問題下面文件儘量做到節省空間 // 測試主文件 // -*- C++ -*-//=======================================================================