Win32程式設計

2022-10-09 11:54:09 字數 1843 閱讀 7856

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.視窗程...