WEB开发网
开发学院操作系统Linux/Unix unix高级编程之-命令行参数(实践一) 阅读

unix高级编程之-命令行参数(实践一)

 2012-05-28 09:07:04 来源:WEB开发网   
核心提示: 1 atexit 函数格式#include <stdlib.h>int atexit( void (*func)(void) );其中,atexit函数的参数是一个函数地址,unix高级编程之-命令行参数(实践一),当调用此函数时无需向他传递任何参数,也不期望他返回一个值,exit调用这些函数的顺序与他们

 1 atexit 函数

格式

#include <stdlib.h>

int atexit( void (*func)(void) );

其中,atexit函数的参数是一个函数地址,当调用此函数时无需向他传递任何参数,也不期望他返回一个值。exit调用这些函数的顺序与他们登记时候的顺序相反。同一函数如若登记多次,则也会被调用多次。

2 实例

#include <stdio.h>


static void my_exit1(void);
static void my_exit2(void);
static void my_exit3(void);


int main(void)
{

if(atexit(my_exit2)!=0)
printf("can't register my_exit2");
if(atexit(my_exit1)!=0)
printf("can't register my_exit1");
if(atexit(my_exit3)!=0)
printf("can't register my_exit1");


printf("main is done\n");
return 0;
}


static void my_exit1(void)
{
printf("first exit handler\n");
}
static void my_exit2(void)
{
printf("second exit handler\n");
}
static void my_exit3(void)
{
printf("third exit handler\n");
}

3 结果

main is done
third exit handler
first exit handler
second exit handler

Tags:unix 高级 编程

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接