Visual Studio 2015:在没有运行时库的情况下编译C/C++

See*_*are 11 c c++ crt visual-studio

有没有一种方法可以在不使用任何运行时库的情况下使用Visual Studio 2015编译C/C++?

我需要在没有运行时库的情况下进行编译,因为我正在创建自己的运行时库(对于我的操作系统).

C/C++上有选项 - >代码生成 - >运行时库
但我想要一个"无"的选项.

我知道丢失了CRT中的很多功能.

Nik*_*ita 11

要编译您的应用程序没有C运行时库(CRT)的使用/MT,/NODEFAULTLIB连接选项,并在重新定义入口点Linker -> Advanced -> Entry Point在代码中定义的函数,例如rawMain.签名是:

DWORD CALLBACK rawMain();
Run Code Online (Sandbox Code Playgroud)

无C运行时库不允许你使用它的功能,如malloc,free,memset,等你应该自己实现所有使用CRT的功能.例如,您可以替换mallocby VirtualAlloc()freeby的使用VirtualFree().

要检查C-runtime是否未链接到您的应用程序,请使用Dependency Walker.