程序的一些基本概念

2021-09-27 01:39:58 字數 1583 閱讀 1053

1. 程序可以…

2. 關於建立程序

使用createprocess函式建立乙個程序,函式原型為:

bool createprocess

( lptstr lpcommandline,

lpsecurity_attributes lpprocessattributes,

lpsecurity_attributes lpthreadattributes, bool binherithandles,

dword dwcreationflags,

lpvoid lpenvironment,

lpctstr lpcurrentdirectory,

lpstartupinfo lpstartupinfo,

lpprocess_information lpprocessinformation

);

該函式在程序完全初始化好之前就返回true,若其中乙個dll不能正確初始化,程序就會終止。所以返回true也並不意味著程序就可以成功執行了。

2.1關於createprocess函式的引數

具體詳細的查閱msdn,這裡提及我覺得要注意的點~

3. 程序通訊

windows提供不同程序之間傳遞資料方式有:dde(動態資料交換)、ole、管郵件槽和記憶體對映檔案等。

程序通訊方式

檔案對映

共享記憶體

匿名管道

命令管道

郵件槽剪貼簿

動態資料交換

定義程序把檔案內容當做程序位址區間一塊記憶體,並通過指標操作

檔案對映的一種特殊情況,檔案對映物件是從os頁面檔案訪問記憶體

父程序建立管道,由要通訊的子程序整合通道的讀/寫端點控制代碼

給管道制定了名字

可以實現給制定網路區域內的所有計算機廣播訊息的能力

可以共享任何資料格式

使用共享記憶體在應用程式之間進行資料交換

是否支援跨程序通訊是是

僅支援父子程序或「親兄弟」程序是是

是是4. windows session的一些理解

windows session的較詳細理解:

ps:上圖理解來自

使用者登陸到windows系統之後,不管該使用者是本地登陸的,還是遠端登陸,系統都會為這個使用者分配乙個新的會話id(sid)。也就是說會話與使用者的登入是相關連的,沒有使用者登入就不存在會話。因此,會話的含義是指使用者登入之後的一種執行的環境

程序是為了內部的執行的執行緒提供乙個空間和環境,而會話則是為內部所有的程序提供乙個執行的空間和環境。

當使用者登陸到系統中之後,使用者下所有的程序都屬於這個會話空間。在每個程序的peb當中就有sessionid。

q: 不同會話的程序通訊可以運用的場景有哪些?

程序通訊的一些基本概念

1.目的 1 資料傳輸 乙個程序需要將他的程序資料傳送給另乙個程序。2 資源共享 多個程序之間共享同樣的資源。3 通知事件 乙個程序需要向另乙個或一組程序傳送訊息,通知他們發生了某種事件。4 程序控制 有些程序希望完全控制另乙個程序的執行 如debug程序 此時控制程序希望能夠攔截另乙個程序的所有操...

有關程序的一些基本概念

對程序的初步描述 一.和程序有關的一些概念 乙個程序就是乙個正在執行程式的例項,包括程式計數器,暫存器和變數的當前值。從概念上說,每個程序擁有它自己的虛擬cpu,當然真實的cpu在各個程序之間來回切換。在某一瞬間,cpu只能執行乙個程序,但在一秒鐘時間他可以執行多個程序,這一就產生了並行的錯覺,通產...

C 一些基本概念

建構函式的作用是對物件本身做初始化工作,也就是給使用者提供初始化類中成員變數的一種方式。析構函式是釋放物件執行期間所申請的資源。函式的過載,過載構成的條件 函式的引數型別不同 引數個數不同,才能構成函式的過載 在乙個類中 注意,只有函式的返回型別不同是不能構成函式的過載。在函式過載時,要注意函式帶有...