原创 Visual Studio2005創建“MFC智能設備應用程序”項目提示“腳本錯誤”

問題:在Visual Studio 2005開發平臺(中文版)下,選擇“文件”-> “新建”-> “項目”-> “項目類型”中選擇“Visual C++”下的“智能設備”,“模板”中選擇“MFC智能設備應用程序”-> 輸入項目名稱並點擊“

原创 Visual Studio2005 工具選項“加載此屬性頁時出錯”的解決辦法

問題:Visual Studio 2005 配置SDK時提示出錯。打開Visual Studio 2005 的工具>選項>設備工具時提示:“加載此屬性頁時出錯!”處理方法:1、在“Visual Studio 2005 命令提示”中運行:d

原创 1.1註釋與命名規則

註釋通常用於: 1、版本、版權聲明; 2、函數接口聲明; 3、重要代碼行提示 添加註釋的注意事項: 1、註釋量一般佔代碼量的40%; 2、註釋放在代碼上方或右方; 3、函數定義前加一個合適的函數頭,說明該函數的功能、參數、返回值等 4、邊

原创 函數設計規則

一、函數體設計規則 1、函數功能要單一,函數體規模要小,儘量控制在50行代碼內; 2、避免函數帶有“記憶”功能,即相同的輸入產生相同的輸出,而帶有“記憶”功能的函數,其行爲是不可預測的,輸出可能受某種“記憶狀態”的影響; 3、檢查輸入參數

原创 gcc和g++的區別(常見的誤解)

    我們在編譯c/c++代碼的時候,有人用gcc,有人用g++,於是各種說法都來了,譬如c代碼用gcc,而c++代碼用g++,或者說編譯用gcc,鏈接用g++,一時也不知哪個說法正確,如果再遇上個extern "C",分歧就更多了,這

原创 Ubuntu9.04下HelloWorld程序例子(makefile)

用vi創建hello.h、hello.cpp、main.cpp三個文件,並輸入以下代碼 hello.h: class Hello{public:   Hello();   void Display();};     hello.cpp:

原创 鏈接器中三個最重要的動態鏈接庫kernel32.dll、user32.dll、gdi32.dll的作用

  kernel32.dll是Windows9x/Me中非常重要的32位動態鏈接庫文件,屬於內核級文件。它控制着系統的內存管理、數據的輸入輸出操作和中斷處理,當Windows啓動時,kernel32.dll就駐留在內存中特定的寫保護區域,

原创 1.3循環語句技巧

循環語句最重要的作用是降低循環體的複雜性,提高循環體的效率! 書寫循環語句時應注意: 1、cpu跨循環層執行的次數直接影響程序的效率。因此,編寫多重循環時,應當將最低的循環放最外層,最長的循環放最裏層,以減少cpu跨循環層執行的次數; 如

原创 宏使用技巧

宏定義用來定義代表特殊內容的標識符,編譯時預處理程序會把宏替換成宏定義時指定的值! 使用技巧: 1、防止重複包含頭文件 #ifndefine _HEADER_H_#define _HEADER_H_ #include "header.h"

原创 Group Box中的控件都無法顯示

今天在把一個基於對話框的vc6.0程序,移植到evc,在模擬器運行時,Group Box中的控件都無法顯示!剛開始還以爲是移植過程中控件的屬性沒設置好!但不管怎麼改,Group Box中的控件還是無法顯示!後來上網看到一個帖子說是Grou

原创 0xC0000005: Access Violation程序關閉時砰一聲——指針與內存釋放問題

程序關閉時出現了“砰”一聲警報,我馬上就想到可能指針釋放有問題!但這也是最頭痛的問題,指針出問題有時不是一兩天就能解決的事!但也沒辦法,時間不多了,只能硬着頭皮查! 我先在不設斷點的情況下,用調試運行一下程序!一下子殺出了兩個地方漏內存(

原创 error LNK2019 無法解析的外部符號 vs2005

這兩天在寫一個進程管理器,用到了Psapi.h中的一些進程函數。我將Psapi.h包含到源代碼中,但鏈接時出現了4個LNK2019錯誤,都是Psapi.h中的函數引起的無法解析的外部符號。   錯誤 2 error LNK2019: 無法

原创 Ubuntu9.04安裝與安裝後配置

中午我對筆記本磁盤進行碎片整理,有些卡!看着實驗室的計算機,突然想開多臺機子玩玩linux也不錯!實驗室的計算機安了win2000和紅旗linux,但linux系統登錄需要密碼,我試了學校幾個常用的都失敗!後來我就在win2000下安裝

原创 _stdcall、_cdecl與_fastcall

      被_stdcall、_cdecl或_fastcall修飾的函數,其參數都是從右向左通過堆棧傳遞的(__fastcall的前面部分由ecx,edx傳),函數調用在返回前要清理堆棧,但由調用者還是被調用者清理不一定。   1、_s

原创 CListCtrl::InsertColumn出錯

今天在寫一個獲取磁盤信息的小程序,通過list控件顯示各磁盤信息。我在屬性頁(CPropertyPage)的構造函數中,調用list控件的InsertColumn方法,編譯鏈接都通過了,但運行時冒出了一個Debug Assertion F