[英]Win32 API functions vs. their CRT counterparts (e.g. CopyMemory vs. memcpy)
[英]CRT AND WIN32 API
嗨,
我想知道在Windows下使用CRT庫的地方。 在每個dll中形成win32 API? 僅由Visual Studio開發的軟件?
換句話說,Windows操作系統是否通過使用CRT以外的方法執行malloc,對文件進行讀寫操作等?
謝謝
C運行時(在Visual Studio 2010 msvcr100.dll的情況下)包含C標准庫函數的實現。
C運行時是以特定於平台的方式實現的,在Windows情況下,它使用kernel32.dll(Win32 API的一部分)中的函數來執行其任務。
您可以使用Dependency Walker查看導出和導入的函數以及DLL依賴項。
我不知道您想在第一個問題中問什么。 關於第二個:CRT不是Windows特定的,而是VS特定的。 使用VS編譯的C程序將使用MSVCRTxx DLL提供(大多數)C庫函數。 反過來,C庫函數將使用WINAPI進行實際處理。 WINAPI是與操作系統對話的最后一層。
其他編譯器,例如MINGW中的g ++,將不使用MSVCRTxx DLL,而是擁有自己的。 最后,這還將使用WINAPI。 例如,在任何實現中, malloc
最有可能調用VirtualAlloc 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.