簡體   English   中英

CRT和WIN32 API

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM