类似errno的全局变量,每个线程单独设置一个,这样从每个线程中可以获取正确的错误信息。多线程库中的数据结构以同步机制加以保护,这样可以避免访问时的冲突。
Visual C++提供的多线程运行时库又分为静态链接库和动态链接库两类,而每一类运行时库又可再分为Debug版本和Release版本,因此Visual C++共提供了6个运行时库,如表1.5所示。
表1.5 Visual C++提供的C运行时库
C运行时库 | 库文件 |
Single thread(static link) | libc.lib |
Debug single thread(static link) | libcd.lib |
MultiThread(static link) | libcmt.lib |
Debug multiThread(static link) | libcmtd.lib |
MultiThread(dynamic link) | msvert.lib |
Debug multiThread(dynamic link) | msvertd.lib |
C运行时库除了给用户提供必要的库函数调用(如memcpy、printf、malloc等)之外,还提供了另一个最重要的功能,即为应用程序添加启动函数。C运行时库启动函数的主要功能为进行程序的初始化、对全局变量进行赋初值、加载用户程序的入口函数。
联系客服