资源简介
C/C++标准库源代码,从Microsoft Visual Studio 10.0即Visual Studio 2010中提取出来的,希望对大家的学习和工作有所帮助。
代码片段和文件信息
/***
*abort.c - abort a program by raising SIGABRT
*
* Copyright (c) Microsoft Corporation. All rights reserved.
*
*Purpose:
* defines abort() - print a message and raise SIGABRT.
*
*******************************************************************************/
#include
#include
#include
#include
#include
#include
#include
#include
#ifdef _DEBUG
#define _INIT_ABORT_BEHAVIOR _WRITE_ABORT_MSG
#else /* _DEBUG */
#define _INIT_ABORT_BEHAVIOR _CALL_REPORTFAULT
#endif /* _DEBUG */
unsigned int __abort_behavior = _INIT_ABORT_BEHAVIOR;
/***
*void abort() - abort the current program by raising SIGABRT
*
*Purpose:
* print out an abort message and raise the SIGABRT signal. If the user
* hasn‘t defined an abort handler routine terminate the program
* with exit status of 3 without cleaning up.
*
* Multi-thread version does not raise SIGABRT -- this isn‘t supported
* under multi-thread.
*
*Entry:
* None.
*
*Exit:
* Does not return.
*
*Uses:
*
*Exceptions:
*
*******************************************************************************/
void __cdecl abort (
void
)
{
_PHNDLR sigabrt_act = SIG_DFL;
#ifdef _DEBUG
if (__abort_behavior & _WRITE_ABORT_MSG)
{
/* write the abort message */
_NMSG_WRITE(_RT_ABORT);
}
#endif /* _DEBUG */
/* Check if the user installed a handler for SIGABRT.
* We need to read the user handler atomically in the case
* another thread is aborting while we change the signal
* handler.
*/
sigabrt_act = __get_sigabrt();
if (sigabrt_act != SIG_DFL)
{
raise(SIGABRT);
}
/* If there is no user handler for SIGABRT or if the user
* handler returns then exit from the program anyway
*/
if (__abort_behavior & _CALL_REPORTFAULT)
{
_call_reportfault(_CRT_DEBUGGER_ABORT STATUS_FATAL_APP_EXIT EXCEPTION_NONCONTINUABLE);
}
/* If we don‘t want to call ReportFault then we call _exit(3) which is the
* same as invoking the default handler for SIGABRT
*/
_exit(3);
}
/***
*unsigned int _set_abort_behavior(unsigned int unsigned int) - set the behavior on abort
*
*Purpose:
*
*Entry:
* unsigned int flags - the flags we want to set
* unsigned int mask - mask the flag values
*
*Exit:
* Return the old behavior flags
*
*Exceptions:
* None
*
*******************************************************************************/
unsigned int __cdecl _set_abort_behavior(unsigned int flags unsigned int mask)
{
unsigned int oldflags = __abort_behavior;
__abort_behavior = oldflags & (~mask) | flags & mask;
return oldflags;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2015-03-09 01:51 crt\
目录 0 2015-03-09 01:51 crt\src\
文件 2861 2010-03-18 00:14 crt\src\abort.c
文件 963 2010-03-18 00:14 crt\src\abs.c
文件 2891 2010-03-18 00:14 crt\src\access.c
文件 12247 2009-09-30 20:23 crt\src\Agent.cpp
文件 618694 2010-03-18 00:14 crt\src\agents.h
文件 164696 2009-09-30 20:23 crt\src\algorithm
文件 15706 2010-03-18 00:14 crt\src\align.c
文件 761 2009-09-30 20:23 crt\src\align.h
文件 20995 2009-09-30 20:23 crt\src\allocators
目录 0 2015-03-09 01:51 crt\src\AMD64\
文件 1747 2010-03-18 05:03 crt\src\AMD64\amdsecgs.asm
文件 636 2010-03-18 05:03 crt\src\AMD64\dllsupp.c
文件 13985 2009-09-30 20:23 crt\src\array
文件 5816 2010-03-18 00:14 crt\src\asctime.c
文件 11624 2010-03-18 00:14 crt\src\assert.c
文件 1225 2010-03-18 00:14 crt\src\assert.h
文件 436 2010-03-18 00:14 crt\src\atodbl.c
文件 4894 2010-03-18 00:14 crt\src\atodbl.inl
文件 2654 2010-03-18 00:14 crt\src\atof.c
文件 4090 2010-03-18 00:14 crt\src\atonexit.c
文件 3525 2010-03-18 00:14 crt\src\atox.c
文件 2942 2010-03-18 00:14 crt\src\awint.h
文件 8227 2010-03-18 00:14 crt\src\a_cmp.c
文件 2873 2010-03-18 00:14 crt\src\a_env.c
文件 3760 2010-03-18 00:14 crt\src\a_loc.c
文件 8683 2010-03-18 00:14 crt\src\a_map.c
文件 4929 2010-03-18 00:14 crt\src\a_str.c
文件 489 2009-08-31 03:59 crt\src\badfunction.cpp
文件 476 2009-08-31 03:59 crt\src\badweakptr.cpp
............此处省略1282个文件信息
- 上一篇:计算器(c语言实现版)
- 下一篇:数字图像处理 的C++反色
相关资源
- RFIDC/C++门禁系统 RFID源码
- C/C++数据结构_随机10000个数:排序~8大
- 特征码搜索基址 c/c++源代码
- C语言标准库函数的源代码
- LeetCode题解 C/C++版
- 课程设计源码.zip
- C/C++参考手册大全5本集合.chm
- 猜词游戏 C/C++程序设计
- eclipse c/c++ 自动补全,auto activation,自
- MFC/C++画柱状图及饼状图
- NLopt-非线性规划的C/C++代码
- C语言课设,学生证管理系统
- C/C++使用遗传算法解决车辆路径问题
- c/c++源码浏览工具卷2
- C/C++常用算法手册(全)
- MFC计算机图形学-三维图形几何变换斜
- C/C++中国象棋程序入门与提高 part 22
- 大富翁游戏C/C++
- C/C++编辑器
- C/C++编译仿真器
- C/C++语言硬件程序设计——基于TMS32
- vscode c/c++扩展(cpptools v0.22.1)离线安
- MFC北京公交车查询系统C/C++
- C/C++图像处理编程
- C/C++程序员面试宝典
- VISUAL C++MFC编程85个PDF电子书
- C/C++ 程序员 面试宝典
- Matlab安装MinGW-w64 C/C++ 编译器
- C和C++程序员面试秘笈完整版-董山海
- C和C++程序员面试秘笈
评论
共有 条评论