MS Visual C运行时库中有什么?我的意思是,我google了它,我总是发现像帮助的东西,应用程序xxxx给了我MS Visual C运行时库错误,没有解释.
我认为Windows C运行时库附带Windows?不是VC吗?谢谢.
编辑:
首先,谢谢你的回答.我现在对Windows中的运行时库不太了解.我的意思是,第一部分,Windows内部有它的win32 API,所以,没关系,我知道.此外,Win32API来自内核和用户部分.
但我一直认为像GDI这样的函数是作为DLL访问的(我仍然认为它们是).但我认为甚至像printf这样的函数都在某些windows文件中.
所以,我是对的,当我知道得到它像printf这样的“简单”函数需要直接链接而不是直接使用OS的内核部分,而更复杂的Windows API函数作为dll链接,因此不与编译器一起分发但是用OS?他们随后访问内核?
我的意思是,让我们说GDI,我告诉它画画,它在用户模式下做了所有的努力,而不是调用内核函数把它全部放在帧缓冲中?
最后想到,为什么这样解决了呢?我的意思是,如果VC运行时只是C和WinAPI之间的层,为什么VC无法直接调用WinAPI?
解决方法
一个简单的答案是MSVS C/C++运行时实现了malloc / free,stdio,iostream等函数以及一些像dynamic_cast和异常处理这样的c -stuff.这些在visual studio版本之间有所不同,因此不同版本的运行时间不同.
Windows主要使用C API(Win32 API),它与C/C++标准库有很大不同. MSVS C/C++运行时调用此API以分配内存等.
(我想Windows中包含的一些应用程序是用MSVS和C语言编写的,因此它们确实包含该版本的MSVS运行时.)
此外,运行时随着新的Visual Studio版本的发布而更改. Windows版本的持续时间比此长.