WINDOWS 核心程式設計第四章

2021-09-30 12:04:15 字數 2102 閱讀 1320

程序

4.1.0 

程序是乙個正在執行的程式的例項,有兩部分組成

1 作業系統用來管理程序的核心物件,存放程序的統計資訊

2 位址空間,包含程序可執行模組的**和資料,和動態分配的記憶體空間

建立乙個程序後系統會自動建立乙個執行緒 成為主線程

window應用程式的進入點函式:

1 int  winapi  winmain()

2 int winapi   wwinmain()

3 int  main()

4 int wmain()

他們的區別為

程式的執行期的啟動函式功能為:

1檢索指向新程序的完整命令列的指標

2 檢索指向新程序的環境變數的指標

3 對c/c++執行期的全域性變數進行初始化

4 對c執行期記憶體單元分配函式的記憶體棧進行初始化

5對所有全域性和靜態c++類物件呼叫建構函式

4.1.1 程序的例項控制代碼

hmodule getmodlehandle(pctstr pszmodule)

若pszmodule 傳遞null ,則該函式返回可執行檔案的基位址

4.1.2

//#include "stdafx.h"

int apientry winmain(hinstance hinstance,//程序的當前例項控制代碼

hinstance hprevinstance,//程序的先前的例項控制代碼

lpstr lpcmdline,//命令列引數

int ncmdshow)//視窗顯示方法

4.1.3 程序的命令列

當建立乙個新程序時,要傳遞乙個命令列,建立程序可執行檔案的名字是命令列的第乙個標記。在winmain中其餘部分傳遞給pszcmdline

int main(int argc, char* ar**)中 ar**[0] 為應用程式,ar**[1]為傳遞給應用程式的引數

獲取完整命令列的指標

ptstr getcommandline() 該函式返回指向完整命令列快取的指標

4.1.4 程序的環境變數

#include #include using namespace  std;

int main()

; //getfullpathname(text("c:\\test.txt"),max_path,szcurdir,null);

//getcurrentdirectory(max_path,szcurdir);//獲取當前工程目錄

setcurrentdirectory(szcurdir);

//ofstream of1s(text("\\123.txt"),ios_base::out); 

ofstream of1(text("\\123.txt"),ios_base::out);

tchar szcurdir1[max_path];

getcurrentdirectory(max_path,szcurdir1);

cout<

bool getversionex()獲取系統的版本

bool  verisyversioninfo()主機系統的版本與應用程式需要的版本比較

終止程序的執行

1 主線程的進入點函式返回

2 程序中的乙個執行緒呼叫exitprocess

3 另乙個程序中的執行緒呼叫termianteprocess函式

建立乙個新程序

bool createprocess

(lptstrlpcommandline,

lpsecurity_attributeslpprocessattributes。

lpsecurity_attributeslpthreadattributes,

boolbinherithandles,

dworddwcreationflags,

lpvoidlpenvironment,

lpctstrlpcurrentdirectory,

lpstartupinfolpstartupinfo,

lpprocess_informationlpprocessinformation

);[1] 

windows核心程式設計 第四章 程序

獲得當前目錄 dword getfullpathname pctstr pszfile,dword cchpath,ptstr pszpath,ptstr ppszfilepart 獲取c盤的當前目錄 tchar szcurdir max path getfullpathname c max pat...

Python核心程式設計 第四章

1.所有的python物件都擁有三個特性 身份,型別和值。型別 物件的型別決定了該物件可以儲存什麼型別的值,可以進行什麼樣的操作。可以用type 檢視python物件的型別。值 物件表示的資料項。2.物件的一系列固有行為和特性 比如支援哪些運算,具有哪些方法 必須事先定義好。從這個角度看,型別正是儲...

第四章 程式設計

選擇語言的原則 最少的工作量原則 最少技巧性原則 最少錯誤原則 最少維護原則 減少記憶原則 總原則 先求正確後求快 先求清晰後求快 求快不忘保持程式正確性 保持程式整潔以求快 不要因效率而犧牲清晰 好程式標準 易於測試和除錯 易於維護 易於修改 設計簡單 高效率結構化程式設計主要包括兩方面 在編寫程...