В C ++ связывание одной и той же статической библиотеки в нескольких файловых единицах увеличивает размер или раздувается? - PullRequest
0 голосов
/ 19 января 2019

Я использую библиотеку libcurl в C ++, которая является довольно большой библиотекой (размер файла .lib составляет около 2 МБ), проект скомпилирован с CURL_STATICLIB

На данный момент у меня есть только одна библиотека.cpp файл, который включает в себя заголовки и связывает библиотеку с #pragma comment(lib, "lib/libcurl.lib")

Но я планирую создать дополнительные модули, которые будут отделены от этого, но также потребуют снова связать библиотеку и включить заголовки,Что мне интересно, так это то, увеличит ли это раздувание в приложении по сравнению с одним блоком, связывающим библиотеку?Или он оптимизирован и не сильно повлияет на что-либо?

1 Ответ

0 голосов
/ 19 января 2019

Содержимое статической библиотеки имеет только одно представление, если оно есть, в конечном исполняемом файле. Это управляется компоновщиком. Вызов библиотеки из нескольких файлов C ++ не влияет на это.

...