C语言函数库详解(收藏)
SIGILL, 非法硬件指令, 中止程序, UNIX DOS SIGINT, 终端中断, 中止程序, UNIX DOS
SIGSEGV, 无效的内存访问, 中止程序, UNIX DOS SIGTERM, 中止信号, 中止程序, UNIX DOS 参数fname是一个指向函数的指针,当sig的信号发生时程序会自动中断转而执行fname指向的函数。执行完毕再返回断点继续执行程序。系统提供了两个常量函数指针,可以作为函数的参数传递。它们分别是:
SIG_DEF:执行默认的系统第一的函数。 SIG_IGN:忽略此信号。
raise而转向信号处理函数signal执行。其中参数sigsignal中的参数sig取值范围相同,见表9-6。
下面通过例子理解函数signal和raise。 例程9-2 signall和raise函数演示 #include <stdio.h> #include <signal.h> void Print1(); void Print2(); int main()
{ signal(SIGINT,Print1);
printf("Please enter Ctr+c for interupt\n") ; getchar();
signal(SIGSEGV,Print2);
getchar();
raise(SIGSEGV); }
{
}
{
}
本例程首先通过用户终端输入Ctrl+c产生一个终端中断,然后应用signal函数调用中断处理函数Print1;再通过raise函数生成一个无效内存访问中断,并通过signal函数调用中断处理函数Print2。
本例程的运行结果为: Please enter Ctr+c for interupt ^C
This is a SIGINT interupt!
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库C语言函数库详解(收藏)(10)在线全文阅读。
相关推荐: