簡體   English   中英

Visual Studio 2015:在沒有運行時庫的情況下編譯C / C ++

[英]Visual Studio 2015: Compile C/C++ without a runtime library

有沒有一種方法可以在不使用任何運行時庫的情況下使用Visual Studio 2015編譯C / C ++?

我需要在沒有運行時庫的情況下進行編譯,因為我正在創建自己的運行時庫(對於我的操作系統)。

C / C ++上有選項 - >代碼生成 - >運行時庫
但我想要一個說“無”的選項。

我知道丟失了CRT中的很多功能。

要在沒有C-Runtime Library(CRT)的情況下編譯應用程序,請使用/MT/NODEFAULTLIB鏈接器選項,並在Linker -> Advanced -> Entry Point重新定義入口點,以在代碼中定義函數,例如rawMain 簽名是:

DWORD CALLBACK rawMain();

如果沒有C-runtime庫,則不允許使用它的函數,如mallocfreememset等。您應該自己實現所有使用過的CRT函數。 例如,您可以通過VirtualAlloc()替換malloc的使用,並通過VirtualFree() free替換。

要檢查C-runtime是否未鏈接到您的應用程序,請使用Dependency Walker

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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