您的位置:首页 > 其它

CRT进程和环境-错误处理-参数访问

2016-03-31 15:46 351 查看
参数访问

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

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



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: