LINUX C 程式和程序的資料結構區別

2021-10-19 11:39:46 字數 377 閱讀 6153

#程式

程式又叫做可執行程式,以.exe結尾,程式設計師通過編譯 鏈結形成 其實流程為.c .o .exe,程式主要可以分為三個區 bss(0段)ro(唯讀)wr(可讀可寫 ),其中bss放未定義的變數,ro放 **段,常量(const) char *str=「ok」,wr放定義的靜態變數和全域性變數

在程式執行後,多形成 堆區 棧區 共享記憶體 其中 堆區放指標 new malloc 棧區放一些區域性的變數 其他的和程式一樣

linux下的可執行檔案 用file檢視

用 objdump -h 檢視這個程序的檔案

可以看到分割槽明顯

父程序和子程序的關係(Linux C 程式設計)

父程序和子程序是並行執行的,先執行哪個是不確定的,在小紅帽系統中,先執行的是子程序,在ubuntu系統中,父程序是先執行的。其實誰先執行不重要了,一般在程式設計中,把父程序當做守護程序使用,用乙個waitpid pid,statloc,0 pid 等待子程序的結束,父程序一直阻塞在這個函式中,阻塞或...

Linux C 的程序排程

程序排程 概念 按一定的演算法,從一組待執行的程序中選出乙個來占用cpu的執行。排程方法 搶占式 非搶占式 排程演算法 1 先來先服務 2 短程序優先 3 高優先順序優先 4 時間片輪轉法 死鍵 多個程序因競爭資源而形成一種僵局,若無外力作用,這些程序將永遠不能向前推進。獲取id的標頭檔案 incl...

Linux C 程序學習的筆記

一 程序的建立 fork vfork 兩個函式都可以進行程序的建立,但是卻稍有不同 fork函式建立的子程序是將父程序的資源拷貝乙份 vfork函式建立的子程序是與父程序共享資料空間,而不是單純的拷貝 此外,在呼叫vfork函式的時候,子程序必須要先退出,父程序才能繼續執行 二 程序的執行 1.ex...