Re[2]: Что раньше - загрузка статической библиотеки или инициализация переменной
От: Molchalnik  
Дата: 27.08.24 13:25
Оценка:
Здравствуйте, σ, Вы писали:

σ>Чё ещё за «загрузка» у статической библиотеки? Статическая библиотека это разве не архив с объектниками, которые линкуются в исполняемый файл так же, как любые другие объектные файлы?


Хорошо, уточню.

1) есть ли гарантия, что глобальные/статические переменные статической библиотеки инициализируются раньше, чем будет вызвана вышеупомянутая функция?

2) Гарантируется ли стандартом c++ или каким-то документом, что прилинкованная статически библиотека будет инициализироваться точно так же, как и объектник с аналогичным кодом?

или, может быть, для неё будут какие-то свои оптимизации?

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

Это точно все отличия?

А если отличий нет, то это особенности линкера или закреплено стандартом?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.