本文共 650 字,大约阅读时间需要 2 分钟。
传智扫地僧课程学习笔记。
printf中
如果使用\n,使用系统调用能打印出内容,
如果不使用,使用系统调用就打印不出东西,
若是使用c库函数,就都能打印出东西来,
\n能启动刷新缓冲区的作用,
这里能否打印的关键,就是行缓冲,
int main01(){ printf("hello.... fddddddddd1111"); //exit(0)是c库函数 =======其他操作。。。。在调用_exit _exit(0); //系统调用}
系统调用和库函数的区别是,库函数多了一些封装,
比如,调用终止处理程序,清除I/O缓冲,
说到终止处理程序,其函数为
int atexit(void (*function)(void));
给它传参为,函数的地址,
但是使用abort()就会异常退出,终止处理程序就不会执行,void bye1(void){ printf("bye1...do\n");}void bye2(void){ printf("bye2...do\n");} int main(){ atexit(bye1); atexit(bye2); printf("hello.... fddddddddd1111\n"); //abort(); sleep(100); //exit(0); //是c库函数 =======其他操作。。。。在调用_exit return 0; }sleep(100);中给它发终止信号,也会异常退出,终止处理程序也不会执行,
转载地址:http://gobcn.baihongyu.com/