linux筆記 程式函式

2021-07-27 15:52:07 字數 1613 閱讀 1079

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