原创 理解數據對齊

  爲什麼會產生數據對齊問題  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++ -*-//=======================================================================