Visual Studio 2015: компиляция C / C++ без библиотеки времени выполнения

есть ли способ компиляции C / C++ с Visual Studio 2015 без использования библиотеки времени выполнения?

Мне нужно скомпилировать без библиотеки времени выполнения, потому что я создаю свою собственную библиотеку времени выполнения (для моей ОС).

есть опции на C / C++ - >генерация кода - >библиотека времени выполнения
но я хочу вариант, который говорит "нет".

Я знаю о потере многих функций, которые находятся в ЭЛТ.

1 ответов


для компиляции приложения без C-Runtime Library (CRT) используйте /MT, /NODEFAULTLIB параметры компоновщика и переопределить точку входа в Linker -> Advanced -> Entry Point для функции, определенной в вашем коде, например rawMain. Подпись:

DWORD CALLBACK rawMain();

без библиотеки C-runtime вам не разрешается использовать ее функции, такие как malloc, free, memset, etc. Вы должны реализовать все используемые функции CRT самостоятельно. Е. Г. вы можете заменить использование malloc by VirtualAlloc() и free by VirtualFree().

чтобы проверить, что C-runtime не связан с вашим приложением, используйте Зависимость Walker.