#include
#include
#include
void fun()
int main()
else
}2.exit函式
#include
void exit(int status);
void_exit(int status);
保留再退
#include
void_exit(int status);
強退#inclde
int atexit(void(*fun)(void));
在程序結束後系統才呼叫atexit(void(*fun)(void))註冊的函式指標指向的回掉函式;即在(*fun)結束後
3.儲存器分配
#include
void *malloc(size_t ,size);
void *calloc(size_t nobi,size_t size);
void *realloc(void*ptr,size_t,newzise);
void free(void *ptr);
》malloc函式,分配指定位元組儲存區,初始值不確定
》calloc函式,指定數量,長度的物件分配儲存空間,空間內每一位都為0。
》yealloc函式,更改儲存區長度,新增區域初始值不確定。ptr為空,malloc與yealloc相同
*分配空間要大於實際儲存空間,即分配空間=儲存空間+管理資訊空間+未利用空間。不可在分配區起始位置前寫入,會重寫上條分配區的管理資訊,很難被發現。
4.環境變數:name=value
#include
char
5.setjmp和longjmp
#nclude
int setjmp(jmp_buf env);
void longjmp(jmp_buf env,int val);
6.getrlimit和setlimit函式
#include
int getrlimit(int resource,struct rlimit *rlbtr);
int setrlimit(int resource,const struct rlimit *rlbtr);
7.uid,euid,uid作用顯示
#include
#include
#include
#include
int main()
int count = 10;
const char *msg = "hello bit\n";
while(count)
fclose(fp);
return 0;
}8.xfork函式
vfork用於建立乙個新程序進而建立乙個新程式。
vfork與fork都會建立乙個子程序,但他不會將父程序位址空間複製到子程序中,因為子程序會立即呼叫exec,於是不會訪問位址空間。
若子程序呼叫exec或exit之前,它在父程序的空間中執行,也就是說會更改父程序的資料段,棧和堆。
vfork與fork區別在於:vfork保證子程序先執行,在他呼叫exec或(exit)之後父程序才可被排程執行
(複習框架,不時更新)
Perl函式 子程式 學習筆記
一 函式定義 子程式即一段分離的 它可以使減少重複 且程式易讀.perl中,子程式可以出現在程式的任何地方.但一般放在程式的開始或結尾.複製 如下 sub subroutine sub開始,子程式名同變數的命名規則,可與變數同名,最好不要與內部函式同名,如果與內部函式同名則用 subroutine區...
Linux 執行新程式 execve 函式
在linux程式中,通過呼叫execve 程序能夠以全新程式來替換當前執行的程式。再次過程中,將丟棄舊有程式,程序的棧.資料以及堆段會被新程式所替換。這個 exec 函式族就提供了乙個在程序中啟動另乙個程式執行的方法。它根據指定的檔名或目錄名找到可執行檔案,並用它來代替當前程序的執行映像。也就是說,...
linux學習筆記 程式管理
程序與程式 程式 通常為二進位制程式放置在儲存媒介中 如硬碟 光碟 軟盤 磁帶等 以物理檔案的形式存在。程序 程式被觸發後,執行者的許可權與屬性 程式的程式 與所需資料等都會被載入到記憶體中,作業系統並給與這個記憶體中的單元乙個識別符號,可以說,程序就是乙個正在執行的程式。子程序與父程序 fork ...