Блоки кода запускаются с помощью инструментов разработчика Visual C ++

0

Когда я создаю новый проект, появляется окно с предупреждением

Многопоточный динамический CRT-режим или многопоточный статический CRT-режим

какая разница? И объясните..

Теги:
multithreading
codeblocks

1 ответ

2
  • Динамический: динамически связывать среду выполнения, что означает, что ваши скомпилированные файлы будут меньше, но для этого требуются файлы Microsoft Visual C++ Runtime. В зависимости от версий операционной системы Windows, а также других программ, которые там установлены (и версии VS, которую вы используете), вероятно, они уже установлены, но вы никогда не можете быть уверены, так что вы, по крайней мере, будете иметь чтобы обеспечить ссылку для загрузки, если ваша программа не запускается.
  • Статический: статически связывать время выполнения, что означает, что используемые части включены в ваши скомпилированные файлы. Это приведет к чуть большему количеству файлов (в зависимости от того, сколько частей CRT вы используете), и ваш код может быть немного быстрее. Вам не понадобятся файлы времени выполнения, которые будут присутствовать в целевой системе.

Какой из них выбрать? Вам решать.

  • Если вы предоставляете установщик, который будет использовать основные зависимости (например, CRT), использование динамической версии может быть лучшим выбором, особенно если вы используете несколько двоичных файлов (например, исполняемые файлы и библиотеки). В противном случае вы, возможно, получите дублированный код.

  • Для лучшего "разархивирования и запуска", я бы предпочел использовать статическое время выполнения.

  • Вы также можете использовать динамическую среду выполнения и предоставить небольшую программу "bootstrap", связанную со статической средой выполнения, и проверку правильности установки среды выполнения. Если это не так, он будет загружать и устанавливать его до запуска реальной программы.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню