Что такое символы с (.cold.n) в объектных файлах, построенных для iOS? - PullRequest
0 голосов
/ 11 апреля 2020

Я работаю над многоплатформенной библиотекой, которая скомпилирована как stati c библиотека для iOS. После, казалось бы, несвязанного изменения двоичный код для iOS стал значительно больше. Когда я посмотрел на содержимое библиотеки, чтобы увидеть, что изменилось, я увидел большое количество символов с выделенными именами, такими как:

unsigned short boost::basic_format<char, std::__1::char_traits<char>, std::__1::allocator<char> >::make_or_reuse_data(unsigned long) (.cold.1)

Я понимаю, что дублирование происходит из-за того, что средство форматирования Boost включено во многие объекты файлы, но что интересно, так это (.cold.1) часть. Эта конкретная функция не имеет каких-либо других версий, но есть некоторые, которые поставляются как без части, так и .cold. версии с номерами до 8.

При чем тут .cold. и число означает, а увеличенный размер библиотеки переносится в конечный двоичный файл приложения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...