Я не уверен, почему все не советуют использовать стандартную библиотеку . Этот метод предполагает, что вы хотите, чтобы ваш код работал в Windows 2000 или более поздней версии, и не против потерять поддержку Win 9x. Вы по-прежнему можете использовать стандартную библиотеку C / C ++ - вы можете использовать опцию /MT
на страницах генерации кода C / C ++ вашего проекта, которые будут статически ссылаться в стандартной библиотеке.
Однако, два замечания, первое от меня: идея наличия динамически связанной стандартной библиотеки заключается в том, что любые ошибки в ней будут исправляться Центром обновления Windows (теоретически). Если вы статически связываете библиотеку, вам нужно перераспределить ваше приложение, чтобы исправить стандартные ошибки библиотеки. Так что это не рекомендуется.
Во-вторых, из статьи MSDN о опциях компилятора :
Внимание Не смешивайте статические и
динамические версии времени выполнения
библиотеки. Наличие более одной копии
библиотек времени выполнения в процессе
может вызвать проблемы, потому что статический
данные в одной копии не передаются
другая копия. Компоновщик мешает
вы от связывания со статическими и
динамические версии в одном файле .exe,
но вы все равно можете в конечном итоге с двумя (или
подробнее) копии времени выполнения
библиотеки. Например, динамическая ссылка
библиотека связана со статическим
(не DLL) версии времени выполнения
библиотеки могут вызвать проблемы при использовании
с файлом .exe, который был связан с
динамическая (DLL) версия
библиотеки времени выполнения. (Вы должны также
избегать смешивания отладки и неотладки
версии библиотек в одном
процесс.)
Короче говоря, это может привести к путанице, если вы попытаетесь встроить другие компоненты, связанные с динамически связанной стандартной библиотекой.
Конечно, другим недостатком является то, что это также увеличит размер вашего исполняемого файла.
Редактировать: результат в зависимости от.exe выглядит следующим образом: (конечно, я использую 64-битную Windows, которая доступна только для XP и более поздних версий ... если вы хотите знать, как это выглядит в 32-битных окнах представьте, если бы 64
не было!).