我是靠谱客的博主 爱笑犀牛,最近开发中收集的这篇文章主要介绍CRT进程和环境-错误处理-参数访问,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

参数访问

va_arg
va_end
va_start
##__VA_ARGS__


错误处理

1、assert:发布版本下也可以用

_ASSERT:发布版本不可用
_ASSERTE:会打印出增加了表达式
2、_RPT0~RPT4:
_RPTF0~RPTF4:会打印文件及行信息
_CRT_WARN,_CRT_ERROR,_CRT_ASSERT

3、clearerr

重置流的错误指示器

4、_eof

测试文件尾

5、feof

测试流的文件尾

6、ferror

测试流中的错误

7、_set_error_mode

设置_error_mode

#define _OUT_TO_DEFAULT 0 默认,位置由_app_type确定,应用程序类型不同,处理方式不同
#define _OUT_TO_STDERR  1
#define _OUT_TO_MSGBOX  2
#define _REPORT_ERRMODE 3 返回当前_error_mode的值


进程和环境控制

1、abort

异常终止,返回错误代码3

先输出信息“abnormal program termination”,然后调用raise(SIGABRT),如果该信号有关联函数,则会处理函数,然会终止运行

abort不会调用atext/_oneexit处理

2、atexit,_onexit

退出时执行指定函数,可以设置多个,先进后出的原则

atexit为ansi版本,_onexit为microsoft版本

3、_cwait

等待,直到另一个进程终止

4、_execl,_excelp

导入并执行新子进程

5、exit,_exit

终止进程,执行函数atexit注册的函数,_exit立即终止进程,不执行atexit

6、getenv,_putenv

get获取当前环境值,需要传入环境变量名称,返回该名称对应的值

put设置当前环境值,path=....这种设置方式

7、_getpid

获取进程标示号

8、_popen,_pipe,_pclose

管道操作

9、raise

将信号发送给正在运行的程序,只能发送如下信号

#define SIGINT          2       /* interrupt */CTRL+C中断
#define SIGILL          4       /* illegal instruction - invalid function image */非法指令
#define SIGFPE          8       /* floating point exception */浮点错误
#define SIGSEGV         11      /* segment violation */非法存储访问
#define SIGTERM         15      /* Software termination signal from kill */终止请求
#define SIGBREAK        21      /* Ctrl-Break sequence */
#define SIGABRT         22      /* abnormal termination triggered by abort call */异常终止

10 、signal

设置中断信号处理函数,信号为raise指定的几个信号

11、system

执行命令,执行的是命令行支持的命令




最后

以上就是爱笑犀牛为你收集整理的CRT进程和环境-错误处理-参数访问的全部内容,希望文章能够帮你解决CRT进程和环境-错误处理-参数访问所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(67)

评论列表共有 0 条评论

立即
投稿
返回
顶部