Анализ кода памяти библиотеки - PullRequest
0 голосов
/ 19 июня 2010

Допустим, у нас есть некоторая библиотека, скомпилированная в файл .a. После этого эта библиотека связана с другим кодом в некоторый исполняемый файл .exe. Размер файла .a составляет 6 МБ, а размер файла .exe - 3 МБ. Очевидным объяснением этого является то, что компоновщик выбрасывает неиспользуемый код из библиотеки. То, что я хочу знать, это код кода реальной библиотеки в конечном исполняемом файле.

Ответы [ 2 ]

3 голосов
/ 19 июня 2010

Проверьте параметры компоновщика. У линкеров обычно есть возможность создать файл карты. Который представляет собой список функций, связанных с окончательным изображением и откуда они пришли. Похоже, вы используете gcc, используйте опцию -map.

0 голосов
/ 19 июня 2010

В библиотеке реализовано множество функций.Exe использовать некоторые из там.Лайкер добавляет в exe только код функций, которые exe использует.

...