Выполняя двоичные файлы C++ без распространяемого файла во время выполнения (Server2k3, XPSP3)

Можно использовать программу Кофеин кофеин , чтобы не дать спать рабочей станции. Вы могли запустить программу через открытую команду в OS X.

9
задан Mike Trader 23 November 2009 в 01:35
поделиться

2 ответа

Более полный список параметров:

  • Перепишите приложение так, чтобы вообще не использовать C / C ++.
  • Переключитесь на Visual Studio 6 или на mingw. такой набор инструментов, как Code :: Blocks - они используют уже распространенный msvcrt.dll в качестве среды выполнения.
  • Выполните сборку с помощью переключателя / MT. Это встраивает необходимые функции времени выполнения в ваш exe. Что его раздувает. Но это раздувание (откровенно говоря) меньше накладных расходов, чем загрузка отдельных dll.
  • Распространяйте среду выполнения VS9 как частную установку sxs. Это влечет за собой копирование содержимого C: \ Program Files \ Microsoft Visual Studio 9.0 \ VC \ redist \ x86 \ Microsoft.VC90.CRT в ту же папку, что и exe вашего приложения. Если вы применили SP1, тогда эта папка будет содержать среду выполнения SP1, но ваше приложение будет запрашивать среду выполнения RTM (см. Рисунок). Добавьте _BIND_TO_CURRENT_CRT_VERSION в определения вашего проекта, перестройте его, и это должно разобраться само.
  • Очевидно, существует vc_redist.exe, который можно получить для VS9. Найдите это или выясните, какой MSI или mojo установщика требуется для фактической установки вышеуказанной сборки (являющейся содержимым Microsoft.VC90.CRT) в общее хранилище sxs.
8
ответ дан 4 December 2019 в 11:42
поделиться

Позвольте мне изменить свой ответ:

У вас есть несколько вариантов:

1) Установить среду выполнения VC ++ 2008. Вы можете скачать и установщик для них. Также для них доступны модули слияния.

2) Связывание со средой выполнения статически (/ MT или C / C ++ -> Генерация кода -> Библиотека времени выполнения: многопоточная). Это увеличит размер вашего исполняемого файла, но не будет зависеть от каких-либо Dll. Если вас беспокоит размер, используйте только стандартную библиотеку C или напрямую используйте только Windows API.

3) Используйте старую версию VC ++. 2005 и ранее не требовали установки среды выполнения. Dll могут быть размещены в том же каталоге, что и исполняемый файл. Если вы используете VC ++ 6.0, среда выполнения будет установлена ​​на всех версиях Windows, в противном случае вам придется установить его самостоятельно.

10
ответ дан 4 December 2019 в 11:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: