Они эквивалентны?
Windows
Linux
vcruntime[версия].dll
-static-libgcc
< tr>
msvcp[версия].dll
-static-libstdc++
Более того, правда ли, что если я статически связываю среду выполнения C в своем проекте верхнего уровня (библиотеке), то мне следует статически связывать среду C во ВСЕХ зависимостях рекурсивно (огромные потери) и наоборот, т. е. при динамическом связывании ВСЕ зависимости также должны быть связаны динамически?
В большом проекте я этого не делаю. обязательно иметь контроль над тем, как строятся зависимости. Как мне вообще узнать, была ли среда выполнения C связана в зависимостях статически или динамически?
На этом все не заканчивается. Допустим, моя библиотека верхнего уровня — A, и она зависит от B. Скажем, я статически связываю среду выполнения C с B. Таким образом, в B есть копия среды выполнения C. Теперь я также статически связываю среду выполнения C с A и далее статически связываю A с B. Тогда не получу ли я две копии среды выполнения C в A? Одна копия получается в результате статического связывания среды выполнения C с A, а другая копия - потому, что я статически связал A с B, в котором сама есть копия среды выполнения C? Не создаст ли это проблем?
Подробнее здесь: https://stackoverflow.com/questions/790 ... ces-on-lin