Visual Studio 2015:编译没有运行库的C/ c++

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

本文关键字:c++ 运行 2015 Studio 编译 Visual      更新时间:2023-10-16

是否有一种方法可以在Visual Studio 2015中编译C/c++而不使用任何运行时库?

我需要编译没有运行时库,因为我正在创建我自己的运行时库(为我的操作系统)。

有C/c++选项->代码生成->运行库
但我想要一个选项显示为"none"。

我意识到在CRT中丢失了很多功能。

要编译没有C-Runtime Library (CRT)的应用程序,请使用/MT, /NODEFAULTLIB链接器选项并在Linker -> Advanced -> Entry Point重新定义入口点以在代码中定义的功能,例如rawMain。签名是:

DWORD CALLBACK rawMain();

没有c运行库,你不允许使用它的函数,如malloc, free, memset等。您应该自己实现所有使用的CRT函数。例如,你可以用VirtualAlloc()代替malloc,用VirtualFree()代替free

要检查C-runtime没有链接到你的应用程序,使用Dependency Walker