Visual Studio 2015:在没有运行时库的情况下编译 C/C++
Visual Studio 2015: Compile C/C++ without a runtime library
有没有一种方法可以在不使用任何运行时库的情况下使用 Visual Studio 2015 编译 C/C++?
我需要在没有运行时库的情况下进行编译,因为我正在创建自己的运行时库(用于我的 OS)。
C/C++->代码生成->运行库
有选项
但我想要一个显示 "none".
的选项
我知道失去了 CRT 中的许多功能。
要在没有 C-Runtime Library (CRT) 的情况下编译您的应用程序,请使用 /MT
、/NODEFAULTLIB
链接器选项并重新定义 Linker -> Advanced -> Entry Point
处的入口点以实现代码中定义的功能,例如rawMain
。签名是:
DWORD CALLBACK rawMain();
没有C-runtime库你不能使用它的功能,如malloc
、free
、memset
等。你应该自己实现所有使用的CRT功能.例如。您可以将 malloc
的用法替换为 VirtualAlloc()
,将 free
的用法替换为 VirtualFree()
。
要检查 C 运行时是否未链接到您的应用程序,请使用 Dependency Walker。
有没有一种方法可以在不使用任何运行时库的情况下使用 Visual Studio 2015 编译 C/C++?
我需要在没有运行时库的情况下进行编译,因为我正在创建自己的运行时库(用于我的 OS)。
C/C++->代码生成->运行库
有选项
但我想要一个显示 "none".
我知道失去了 CRT 中的许多功能。
要在没有 C-Runtime Library (CRT) 的情况下编译您的应用程序,请使用 /MT
、/NODEFAULTLIB
链接器选项并重新定义 Linker -> Advanced -> Entry Point
处的入口点以实现代码中定义的功能,例如rawMain
。签名是:
DWORD CALLBACK rawMain();
没有C-runtime库你不能使用它的功能,如malloc
、free
、memset
等。你应该自己实现所有使用的CRT功能.例如。您可以将 malloc
的用法替换为 VirtualAlloc()
,将 free
的用法替换为 VirtualFree()
。
要检查 C 运行时是否未链接到您的应用程序,请使用 Dependency Walker。