Есть ли в стандартной библиотеке C ++ больше зависимостей от окружения, чем в winAPI? - PullRequest
0 голосов
/ 07 октября 2019

Я знаю, что Win API - это главное в Windows. Когда на компьютере установлена ​​система Windows, при условии, что версия системы соответствует требованиям API, функции API могут работать.

Но, например, .NET требует установки платформы .NET, поэтому он имеетбольше зависимостей от окружения.

Затем, требуется ли библиотеке C ++ std что-то наподобие фреймворка или необходимая вещь уже установлена ​​почти на каждом компьютере?

1 Ответ

2 голосов
/ 07 октября 2019

Обычно да, в Windows библиотека C ++ std - это DLL, и нет, она не часть Windows.

В случае Visual C ++ вам нужнасоответствующий распространяемый пакет Visual C ++ , который будет устанавливать файлы типа MSVCP140.DLL и т. д.

MinGW использует библиотеки GCC / libstdc ++, такие как libgcc_s_dw2-1.dll, libstdc++-6.dll и т. д. .

Если вы хотите избежать установки этих файлов, часто есть возможность связать вашу программу статически (например, /MT для VC ++ и -static для MinGW), в которойВ случае, если необходимые части CRT будут встроены в ваш двоичный файл / исполняемый файл (за счет его размера и жизненного цикла исправлений безопасности).

...