[英]How to compile C++ for Windows with clang in Visual Studio 2015
[英]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庫,則不允許使用它的函數,如malloc
, free
, memset
等。您應該自己實現所有使用過的CRT函數。 例如,您可以通過VirtualAlloc()
替換malloc
的使用,並通過VirtualFree()
free
替換。
要檢查C-runtime是否未鏈接到您的應用程序,請使用Dependency Walker 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.