win32
malloc函式的底層實現是win32api
utf-16編碼以16位無符號整數為單位,注意是16位為乙個單位,不是乙個字元就只有16位,這個要看字元的unicode編碼處於什麼範圍而定,有可能是2個位元組,也可能是4個位元組現在機器上的unicode編碼一般就是指utf-16 以兩個位元組為單位進行傳輸儲存,但是傳輸的話占用空間
utf-8(平時多英文,在網路中傳輸)
unicode編碼(16進製制) 對應的 utf-8位元組流(二進位制)
000000-00007f 0******x
000080-0007ff 110***xx 10******
000800-00ffff 1110***x 10****** 10******
010000-10ffff 11110*** 10****** 10****** 10******
缺點:解析效率低,以乙個位元組進行解析
3.bom(byte order mark)
utf-8 efbb bf
utf-16le(小端儲存) ff fe
utf-16be(大端儲存) fe ff
程序給提供程式所需要的資源,如:資料、**等等。空間上的概念。每個程序都有自己乙個虛擬的位址空間(00000000-ffffffff)4gb 前64k的沒用,80000000-8fffffff 高2g 給核心用
分割槽x86 32bitwindows
空指標賦值區
0x00000000-0x0000ffff
使用者模式區
0x00010000-0x7ffeffff
64k禁入區
0x7fff0000-0x7fffffff
核心0x80000000-0xffffffff
程序內的所有所有模組都都遵循乙個pe格式,程序就是pe格式檔案
1.任何程序都是別的程序建立的:createprocess()
2.程序的建立過程
1.對映exe檔案
2.建立核心物件eprocess
3.對映系統dll(ntdll.dll)
4.建立執行緒核心物件ethread
5.系統啟動執行緒
//dll注入到目標程序
對映dll(ntdll.ldrinitializethunk)
執行緒開始執行
程序的建立
bool createprocess(
lpcwstr pszimagename, //物件名稱 :完整的路徑加物件名字
lpcwstr pszcmdline, //命令列
lpsecurity_attributes psaprocess, //不繼承程序控制代碼
lpsecurity_attributes psathread, //不繼承執行緒控制代碼
bool finherithandles, //不繼承控制代碼
dword fdwcreate, //沒用建立標誌
lpvoid pvenvironment, //使用父程序環境變數
lpwstr pszcurdir, //使用父程序目錄作為當前目錄,可以自己設定目錄
lpstartupinfow psistartinfo, //startupinfo結構體詳細資訊
lpprocess_information pprocinfo//process_information結構體程序資訊
);
WIN32程式設計模板
include lresult callback wndproc hwnd,uint,wparam,lparam int winapi winmain hinstance hinstance,hinstance hprevinstance,pstr szcmdline,int icmdshow te...
win32程式設計 1
1.winmain 1 myregisterclass hinstance 註冊視窗類 2 initinstance 初始化例項 3 while getmessage msg,null,0,0 getmessage從應用程式訊息佇列取乙個訊息,當取到wm quit時,返回假 作業系統向應用程式傳送一...
win32程式設計簡介
複習win32整理下知識.為什麼學習win32?我們要編寫windos程式.都離不開api.也就是我們所說的win32程式.所以學好win32是你能不能再windows下編寫程式的基礎.在win32下我們要學習的知識如下.1.字元 字元的儲存.2.多執行緒程式設計.3.執行緒同步程式設計 4.視窗程...