Где можно найти профилировщик для уменьшения размера бинарных файлов в MSVC ++ / Windows? - PullRequest
4 голосов
/ 19 октября 2011

У меня много пользователей, которые используют дозвон. Плюс я плачу за пропускную способность. Я заинтересован в том, чтобы уменьшить размер моего приложения, чтобы решить обе эти проблемы; сейчас он стоит около 200 тыс., но было бы неплохо, если бы он находился в диапазоне 100–150 тыс.

Однако я понятия не имею, какие конструкции и местоположения в моем бинарном файле используют самый большой размер, что затрудняет настройку.

Существует ли какой-либо бесплатный профилировщик, который помогает решать проблемы с размером двоичного файла?

Ответы [ 3 ]

3 голосов
/ 19 октября 2011

Когда я разрабатывал C / C ++ для встроенной платформы, я имел обыкновение видеть результаты компоновщика, особенно размеры разделов data / rodata / bss / code (см. http://en.wikipedia.org/wiki/Data_segment, если выне понимаю этих слов) и тогда я мог бы погрузиться в определенную область, чтобы найти большие элементы.

Путем поиска в Google «оптимизации размера кода c ++» я нашел существующий вопрос SO: Сокращение кода C ++размер , что, по-видимому, говорит именно о том, что я имею в виду: «avr-gcc создает файл карты, чтобы вы могли посмотреть на него и посмотреть, что занимает столько места.»profiler c ++ "Я нашел эту страницу о размере кода: http://www.murrayc.com/blog/permalink/2006/02/15/c-code-size/ с интересным комментарием, который приводит к утилитам DWARF, которые тоже могут это сделать: http://reality.sgiweb.org/davea/dwarf.html

Теперь ваша очередь погружатьсяв эти результаты!Удачи!

3 голосов
/ 19 октября 2011

Visual Studio имеет возможность создать файл карты, который покажет вам адреса, назначенные для каждой части вашей программы.В свойствах проекта Linker->Debugging->Generate Map File.

1 голос
/ 19 октября 2011

GCC предоставляет опцию (-Os) для уменьшения размера, см. gcc (1) .Не уверен, что Visual Studio предоставляет нечто подобное.

Я также предполагаю, что вы уже отправляете сжатые двоичные файлы своим клиентам.

...