linux 多程序程式設計基礎

2021-06-07 22:04:56 字數 603 閱讀 1547

一 linux下程序的理解:

linux環境下乙個程序在記憶體中有三部分資料:資料段 堆疊段和**段

**段:就是存放程式**的資料,如果有數個程序執行乙個程式,那麼他們就可以使用同乙個**段

堆疊段:存放的是子程式的返回位址 引數以及程式的區域性變數

資料段:存放程式的全域性變數 常數以及動態資料分配的資料空間

系統如果同時執行數個相同的程式,他們之間就不能使用同乙個堆疊段和資料段,但是可以使用同乙個**段

二 fork函式的使用

linux環境下產生新的程序的系統呼叫是fork函式,乙個程序在執行的時候,使用了fork,就會產生另乙個程序

例子:#include 

using namespace std;

int main()

wait();

exit(0);

}void big_loop(int n)

printf("number1\tnumber2\tnumber3\tnumber4\n");

printf("%d\t%d\t%d\t%d\n", n_table[0], n_table[1], n_table[2], n_table[3]);

}**:

linux多程序程式設計

在linux中,執行的乙個程序,會占去linux的三個地方,區,堆疊區和資料區.如果同時執行多個相同的程式,他們就會使用相同的 區,區中存放的就程式的 但是資料區和堆疊區分別存放的是程式的資料,全域性變數和區域性變數,因此即使是相同的程式,也不可同時使用相同的資料和堆疊區.include inclu...

6 1linux多程序程式設計基礎

title date comments categories br linux多程序程式設計基礎 2020 3 17 true linux 多程序 linux 6.1 include include pid t fork void pid t就是int的巨集定義 因為fork函式呼叫後,會產生乙個新...

linux多程序c程式設計

多程序程式設計 今天覆習了多程序程式設計,共涉及只是大致有程序的建立於結束,退出,終止,等待,休眠,獲取程序號,執行外部的應用程式等的函式使用,還了了解程序與執行緒的區別於相同之處,在此對於pid,ppid,pigid,puid等獲取方式與相關表示就不在陳述,建立程序的兩個主要函式vfork與for...