Linux程序環境

2021-09-07 08:19:49 字數 1122 閱讀 2657

linux下c程式都是main開始的,main函式的原型是:

int main(int argc, char **argv)
其中argc是命令列引數的數目,argc是指向引數的各個指標所構成的陣列。

c程式中有3個函式用於正常終止乙個程序,_exit和_exit立即進入核心,exit則做一些清理工作後後進入核心,比如清理io緩衝區資料,對於所有開啟的流進行close操作。 這3個函式都帶乙個整型引數,成為終止狀態。

#include void exit(int

status);

void _exit(int

status);

#include

void _exit(int status);

atexit函式atexit函式用來登記終止處理函式,按照iso c的規定,乙個程序最多可以登記32個函式,這些函式將由exit函式自動呼叫。程序終止時,exit首先呼叫各終止函式,然後關閉開啟的流。

使用atexit函式登記程序終止函式:

#include void my_exit1(void

)void my_exit2(void

)int main(int argc, char **argv)

輸出結果:

每個程序都有乙個環境表,與參數列一樣,環境表也是乙個指標陣列:

通常用getenv和putenv函式來訪問特定的環境變數,而不是environ變數。但是,如果要檢視整個環境,則必須使用environ指標。

任何程式的記憶體空間都可分為4個基本部分,各個部分的首位址是固定的。

c程式中有3個用於空間動態分配的函式:

linux 程序與程序環境

程序與程序環境 程序是執行中的程式,每個程序都執行在各自的虛擬位址空間中,某個程序的崩潰不會影響其它程序的執行。程序間的通訊 ipc 要通過系統核心 系統呼叫 來實現。程序分類 在linux系統中,根據程序的特點,程序可分為3大類 互動程序 批處理程序和守護程序。l 互動程序 由shell啟動的程序...

linux程序(1) 程序執行的環境

標籤 空格分隔 linux 以下內容來自 unix環境高階程式設計 讀書筆記 首先想想下面幾個問題能不能解答 程序是程式執行的基本,程序即為程式執行的活動體。下面是程序在系統上執行的一些環境。int main int argc,char argv 當執行c程式的時候,在呼叫main函式之前會呼叫乙個...

Linux程序操作 程序環境 全域性跳轉

c語言程式中允許使用goto語句進行跳轉,但是這種跳轉只能存在於函式內部。linux環境下的全域性跳轉的實現思路是先設定乙個跳轉點,儲存當前的函式呼叫棧幀。當程式執行全域性調轉,回到該跳轉點時,使用儲存的棧幀覆蓋現有的棧幀,從而實現函式棧幀的還原。c語言程式中允許使用goto語句進行跳轉,但是這種跳...