Kernel32.dll中的函數主要處理內存管理和進程調度
user32.dll中的函數主要控制用戶界面
gdi32.dll中的函數則負責圖形方面的操作
----------------------------------------------------------
保護模式下尋址變為4G的內存空間,只有操作系統運行在ring0級別上。
選擇masm32編譯器,優化性能好,又有豐富的庫
nmake的使用需要了解
如何編寫makefile
----------------------------------------------------------
羅云彬教程的一個例子
.386
.model flat, stdcall
option casemap :none ; case sensitive
include windows.inc
include kernel32.inc
includelib kernel32.lib
.data
szCaption db 'Win32匯編例子',0
szText db 'Win32匯編,Simple and powerful!',0
.code
start:
invoke MessageBox,NULL,addr szText,addr
szCaption,MB_OK
invoke ExitProcess,NULL
end start
----------------------------------------------------------
發現問題沒,編譯時說undefined MessageBox.....
呵呵,user32.inc給漏掉了。
關于stdcall是參數傳遞規則,從右往左壓棧。invoke語句可自動完成壓棧。
---------------------------------
nmake用法
---------------------------------
NMAKE的命令行語法
語法:
NMAKE [options] [macros] [targets]
其中,options是NMAKE的選項,macros是在命令行中的宏定義,targets是NMAKE的目標文件列表。
詳細可用選項/help查看
---------------------------------
俺用IDE,暫時不考慮這些繁雜的東西。
msdn資源鏈接http://msdn2.microsoft.com/zh-cn/library/a23f7tc4(VS.80).aspx