Argument Access(参数访问):变长参数列表。这个模块提供了三个宏:va_arg、va_end和va_start,用来实现变长参数列表的访问。
Buffer Manipulation(内存操作):按字节处理内存区域。主要函数:memcpy、memmove、memset等。
Byte classification(字节分类):用来测试在多字节字符中满足一定条件的特殊字节。例如:isleadbyte。感觉用途不是很广,暂且忽略。
Character classification(字符分类):用来测试满足一定条件的单字符、宽字符或者多字节字符。暂且忽略。
Data Alignment(字节对齐):支持字节对齐的内存分配和回收函数。比如:_aligned_free、_aligned_malloc等。
Data Conversion(数据转换):实现数据类型之间的转换,比如整形到字符串。主要函数:atof、atoi、itoa等。
Debug Routines(调试例程):帮助开发者诊断、调试。提供了断言、堆内存追踪和内存泄露检查。本模块函数主要基于window。
Directory Control(目录控制):提供了访问、修改和获取目录结构信息的方法。例如 _chdir、_mkdir等。
Error Handling(错误处理):处理程序错误。主要内容:assert宏、_eof、_feof等。
Exception Handling(异常处理):进程在运行期间使用C++的异常处理函数从意外事件中恢复。这里面用到了C++的东西了。
File Handling(文件处理):创建、删除和操作文件,以及检查和设置文件的访问权限。文件操作主要与文件系统相关,文件系统又跟操作系统关系密切,所以这个模块主要是针对windows系统下的。
Floating-Point Support(浮点支持):提供浮点支持。
Input and output(输入和输出):输入输出模块。Microsoft运行时库有三种类型的I/O方法:Stream I/O、Low-level I/O、Console and port I/O。
Memory Allocation(内存分配):主要内容有_alloca、malloc、new等
Process and Environment Control(进程和环境控制):使用进程控制例程来开始、停止以及管理进程。使用环境控制例程来获取和改编操作系统的环境信息。主要内容:abort、atexit、exit、getenv、_getpid、_pipe、signal等。
Robustness(鲁棒性):使用这个模块的函数来提升程序的鲁棒性,相关函数:_set_new_handler、set_terminate、set_unexpected等。
Run-Time Error Checking(运行时错误检查):检查并报告运行时错误。主要函数:_RTC_GetErrDesc、_RTC_NumErrors、_RTC_SetErrorFunc和_RTC_SetErrorType。
Searching and Sorting(搜索和排序):这个模块列举了四个函数:bsearch(二分法查找)、_lfind(线性查找)、_lsearch(线性查找,没查到的元素会被加到列表最后)、qsort(快排)。
String Manipulation(字符串操作):字符串相关操作,包括单字节字符、宽字符、多字节字符。常见函数有:sprintf、strcpy、strftime、strlen等。
System Calls(系统调用):针对windows的系统调用。如:_findclose、_findfirst等
Time Management(时间管理):时间相关函数。常见函数:clock、difftime、gmtime、localtime、mktime、strftime、time等。