原创 彙編棧操作指令的替代形式

push ebp相當於: add esp,4 mov dword ptr[esp],ebp pop ebp相當於: mov ebp,dword ptr[esp] sub esp,4 call func_address相當於: push e

原创 [C/C++] 函數調用的棧分配

          當調用(call)一個函數時,主調函數將聲明中的參數表以逆序壓棧,然後將當前的代碼執行指針(eip)壓棧,跳轉到被調函數的入口點。        進入被調函數時,函數將esp減去相應字節數獲取局部變量存儲空間。被調函數

原创 編程爲什麼有趣?

          編程爲什麼有趣?作爲回報,它的從業者期望得到什麼樣的快樂?         首先是一種創建事物的純粹快樂。如同小孩在玩泥巴時感到愉快一樣,成年人喜歡創建事物,特別是自己進行設計。我想這種快樂是上帝創造世界的折射,一種呈

原创 [微軟公司招聘題目]狗的問題

原題:一個大院子裏住了50戶人家,每家都養了一條狗,有一天他們接到通知說院子裏有狗生病了,並要求所有主人在發現自己家狗生病的當天就要把狗槍殺掉。然而所有主人和他們的狗都不能夠離開自己的房子,主人與主人之間也

原创 [Visual C++語言參考]結構化異常處理(SEH)

    Windows 95 、 Windows 98 和 Windows 2000(以前的Windows NT)支持一種健壯的處理程序異常的方法,稱之爲"結構化異常處理(SEH)",這種方法與操作系統密切相關,同時直接在編程語言中被支持

原创 女人是禍水的數學證明:英文

  ∵女人需要錢和時間∴女人 = 錢 X 時間又∵時間就是金錢(Time is Money)∴女人 = 金錢 X 金錢 = (金錢)^2又∵金錢是萬惡之源(MONEY is ROOT[平方根] of All EVIL)∴金錢^2 =

原创 寒假特訓計劃

通過開發以下工程,對Win32平臺編程有一個整體的掌握和認識。實踐工程列表:工程1.帶類BASIC腳本的文字MUDTags:<腳本驅動><GUI設計><GM管理套件><多線程><網絡通信>掌握技能:№1 數

原创 [數學]海盜分金塊

    數學的邏輯有時會導致看來十分怪異的結論。一般的規則是,如果邏輯推理沒有漏洞,那麼結論就必定站得住腳,即使它與你的直覺矛盾。 1998年9月,加利福尼亞州帕洛阿爾託的Stephen M. Omohun

原创 [FormulaDraw08]關於WIN下編程的問題1

問題: 無法使用定義的函數:  void LoadDrawFromFile(char * Filename);  void LoadDrawFromFile(char * Filename); 來打開指定的文件"template" 問題地

原创 C++編譯時 函數調用約定 與 函數名修飾約定規則

    函數調用約定(Calling convention)決定以下內容: 1) 函數參數的壓棧順序 2) 由調用者還是被調用者把參數彈出棧 3) 產生函數名修飾的方法 __cdecl C/C++程序的默認調用規範由 調用方 清空堆棧

原创 [資料]I386平臺的內存佈局

  衆所周知,I386是32位體系結構。因此對於絕大多數I386平臺的C++編譯器而言,sizeof(int)=sizeof(long)=sizeof(void*)=4。當然C++標準對此沒有任何保證,我們也不應該試圖編寫依賴於此的代碼。

原创 Formula Draw 2008 製作體會

花了兩天工夫 終於把這個程序搞定了  因爲是新手接觸WINAPI的第一個程序 基本上是一遇到不知道定義的地方就翻書/上網查資料(MSDN還是用不習慣~~哎~~~) 從最初簡陋的GUI和單一的繪圖功能,慢慢在隨後的更新中趨於完善 而我也

原创 [FormulaDraw08]WINAPI使用ComDlg.h的注意事項

建立對應結構後用memset將結構體清零後再註冊相關成員變量,隨後調用創建ComDlg函數,範例如下: //顏色通用對話框COLORREF RGB_CLR,CustColors[16];CHOOSECOLOR CD_CLR;memset(

原创 [C/C++] 可變參數表(Variable Arguments)

  C/C++支持可變長度的函數參數表,程序員可以通過指針運算並提領來獲取函數的任意個參數。由於C/C++默認的__cedcl調用規範規定:函數參數的壓棧和彈出操作都經由主調方進行,所以被調函數其實並不不需要知曉參數數量。爲了使用這種可變