一 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...