原创 [轉貼]構造可配置的詞法分析器(已完結)

  構造可配置詞法分析 陳梓瀚華南理工大學計算機軟件學院軟件工程05級本科vczh _at_ 163 _dot_ com2007-11-8       本文詳細描述了通過正則表達式構造通用詞法分析器的整個算法流程。如果有需要的話請在評

原创 vc的菜單,工具欄

首先,MFC會自動生成一些菜單,我們也可以在resource view中添加菜單。點擊菜單欄屬性--〉左上角校園最圖形,可以將屬性頁顯示。不會隨着菜單項變動丟失。 ID號變灰的欄是不可以編輯的。是彈出的POPUP菜單。它不能被用來做

原创 C++虛函數表與對象佈局(轉)講的很透徹

每個含有虛函數的類有一張虛函數表(vtbl),表中每一項指向一個虛函數的地址,實現上是一個函數指針的數組。 虛函數表既有繼承性又有多態性。每個派生類的vtbl繼承了它各個基類的vtbl,如果基類vtbl中包含某一項,則其派生類的vtbl中

原创 win32application與win32 console application區別何在

剛剛在新建project的時候,選擇了 Win32 Application,編譯時出現下面的錯誤: 很奇怪的說,一個很短的程序,不可能出錯的。後來才知道了是因爲Win32 Application和Win32 Console Applic

原创 虛擬內存與虛擬存儲的區別

虛擬內存:  1.桌面版windows上經常要設置虛擬內存,尤其是實際內存很小時;設置虛擬內存後,計算機可以運行比實際內存更大的軟件;  這個虛擬內存

原创 Invalidate函數的總結

InvalidateRect只是增加重繪區域,在下次WM_PAINT的時候才生效 InvalidateRect函數中的參數TRUE表示系統會在你畫之前用背景色將所選區域覆蓋一次,默認背景色爲白色,可以通過設置BRUSH來改變背景色。

原创 什麼是lib文件,lib和dll的關係如何

  (1)lib是編譯時需要的,dll是運行時需要的。 如果要完成源代碼的編譯,有lib就夠了。 如果也使動態連接的程序運行起來,有dll就夠了。 在開發和調試階段,當然最好都有。 (2)一般的動態庫程序有lib文件和dll文件

原创 PE文件結構與虛擬地址空間

 本章提要·           PE文件格式概述·           PE文件結構·           如何獲取PE文件中的OEP·           如何獲取PE文件中的資源·           如何修改PE文件使其顯示Mes

原创 鏈接器算法

在這個專欄中,我經常討論一些新技術,至少是還未被廣泛使用的技術。然而,隨着越來越多的開發者加入到Win32® 程序員隊伍中來,有些對於老手來說是老生常談的問題,對於新手來說卻是神祕莫測的。鏈接器方面的主題就屬於這個範疇。Visual Ba

原创 關於補碼

只有有符號的整數纔有原碼、反碼和補碼的!其他的類型一概沒有。雖然我們也可以用二進制中最小的數去對應最小的負數,最大的也相對應,但是那樣不科學,下面來說說科學的方法。還是說一個字節的整數,不過這次是有符號的啦,1個字節它不管怎麼樣還是隻能表

原创 vc學習筆記

資源的添加:右鍵ResourceView->插入,可選擇各類型資源。VC組件(如右鍵菜單)或其它系統已經安裝的ActiveX控件(如Canldar)的添加:Project->Add to Project->Components and C

原创 操作系統啓動過程

 以下的內容都是在網上搜集並整理的,希望有問題的朋友在提問之前能先在這裏看一看,不要浪費了衆多爲網絡奉獻的衆多網友的心血!       電腦及操作系統的啓動過程是一個很複雜的過程,對於我們大多數只是希望把電腦玩的更好一點、處理一些常見問

原创 MFC中CEdit多行情況下,調用GetLine()時,發現老是後面跟有亂碼【轉載】

MFC中CEdit多行情況下,調用GetLine()時,發現老是後面跟有亂碼。即使你把str初始化也是如此。 對於採用GetLine()調用,其函數說明有2種。 1.int GetLine( int nIndex, LPTS

原创 現在及將來的發展路線

1. Windows 程序設計:第5版2. Windows核心編程(第5版)3. 彙編語言程序設計4. Windows環境下32位彙編語言程序設計(第2版)5. 深入解析Windows操作系統(第 5 版) 6. 從彙編語言到Window

原创 各種進程保護方法的比較

一.利用hook 保護進程 1.inline hook 採用inlink hook 保護自身的進程,對抗CreateRemoteThread的Dll注入。在ring3下Dll注入的標準做法是使用CreateRemoteThread