sigsetjmp的用法總結

2022-10-04 04:45:09 字數 997 閱讀 8085

表頭檔案:#include

函式定義:int sigsetjmp(sigjmp_buf env, int s**esigwww.cppcns.coms)

函式說明:sigsetjmp()會儲存目前堆疊環境,然後將目前的位址作乙個記號,

而在程式其他地方呼叫siglongjmp()時便會直接跳到這個記號位置,然後還原堆疊,繼續程式的執行。

引數env為用來儲存目前堆疊環境,一般宣告為全域性變數

引數s**esigs若為非0則代表擱置的訊號集合也會一塊儲存

當sigsetjmp()返回0時代表已經做好記號上,若返回非0則代表由si程式設計客棧glongjmp()跳轉回來。

返回:若直接呼叫則為0,若從siglongjmp呼叫返回則為非0

例項:複製** **如下:

#include

#include

#include

#include

#include

sigjmp_buf jmp_env;

static void connect_alarm(int)

程式設計客棧int main()

}sleep(run_time);

printf("running...\n");

out:

if (sec_timeout)

return 0;

}程式執行:

當ec_timeout = 3, run_time = 2時:

timeout = 3, run_time = 2

set timeout

running...

cancel timeout

當ec_timeout = 3, run_time = 4時:

timeout = 3, run_time = 4

set timeout

timeout

cancel timeout

本文標題: sigsetjmp的用法總結

本文位址:

setjmp與sigsetjmp的區別

setjmp與sigsetjmp的作用我就不多描述了,這篇博文只是我的乙個隨筆,希望想弄清楚這2個函式的區別的童鞋做乙個參考,後面我會附帶乙個例子詳細說明一下,sigsetjmp的能夠儲存被阻塞的訊號而setjmp不會,我們通過下面的例子描述一下。setjmp是否保留被阻塞的訊號 include i...

of的用法總結

文章 版權歸原作者!詞的用法分析原則一般是 詞不離句 即在具體語境中分析其用法。你沒有提供語境,那就全面的學習一下of的用法吧。of v v v f prep.屬於 的 the king of england英格蘭國王 含有 的,裝有 的 a book of pictures一本畫冊 a glass...

UISwitch的用法總結開關用法

1.uiswitch的初始化 uiswitch switchview uiswitch alloc initwithframe cgrectmake 4.0f,16.0f,100.0f,28.0f 2.設定uiswitch的初始化狀態 switchview.on yes 設定初始為on的一邊 3.u...