Исполняемый файл нашей программы пухнет не по дням, а по часам. Я подозреваю, что дело в шаблонах. Есть какие-то средства, чтобы узнать, какие места в программе — классы, функции, сколько генерируют кода? Это как профайлинг, только не по скорости выполнения, а по объему исполняемого кода.
Здравствуйте, MrVoid, Вы писали:
MV>Исполняемый файл нашей программы пухнет не по дням, а по часам. Я подозреваю, что дело в шаблонах. Есть какие-то средства, чтобы узнать, какие места в программе — классы, функции, сколько генерируют кода? Это как профайлинг, только не по скорости выполнения, а по объему исполняемого кода.
Здравствуйте, MrVoid, Вы писали:
MV>Исполняемый файл нашей программы пухнет не по дням, а по часам. Я подозреваю, что дело в шаблонах. Есть какие-то средства, чтобы узнать, какие места в программе — классы, функции, сколько генерируют кода? Это как профайлинг, только не по скорости выполнения, а по объему исполняемого кода.
Здравствуйте, MrVoid, Вы писали:
MV>Исполняемый файл нашей программы пухнет не по дням, а по часам. Я подозреваю, что дело в шаблонах. Есть какие-то средства, чтобы узнать, какие места в программе — классы, функции, сколько генерируют кода? Это как профайлинг, только не по скорости выполнения, а по объему исполняемого кода.
я в таких случаях выставляю генерацию ассемблерного кода вместе с исходным. и там уже смотрю, что к чему.
Здравствуйте, MrVoid, Вы писали:
MV>Исполняемый файл нашей программы пухнет не по дням, а по часам. Я подозреваю, что дело в шаблонах. Есть какие-то средства, чтобы узнать, какие места в программе — классы, функции, сколько генерируют кода? Это как профайлинг, только не по скорости выполнения, а по объему исполняемого кода.
Здравствуйте, MrVoid, Вы писали:
PD>>Project — Properties — Configuration Properties — Linker — Debugging — Generate Map File
PD>>и все как на ладони.
MV>Я сделал так, но непонятно, как извлечь какую-то полезную информацию оттуда — там просто список всех задекорированных названий функций с адресами.
И длинами, которые элемнтарно вычисляются.
0002:00000a90 ??1?$_Vector_iterator@HV?$allocator@H@std@@@std@@QAE@XZ 00411a90 f i 4555556989.obj
0002:00000b30 ??1?$_Vector_const_iterator@HV?$allocator@H@std@@@std@@QAE@XZ 00411b30 f i 4555556989.obj
Здравствуйте, MrVoid, Вы писали:
PD>>Project — Properties — Configuration Properties — Linker — Debugging — Generate Map File
PD>>и все как на ладони.
MV>Я сделал так, но непонятно, как извлечь какую-то полезную информацию оттуда — там просто список всех задекорированных названий функций с адресами.
Тебе ж remark правильную утилиту уже посоветовал — вот ей и пользуйся. А то на 30-мегабайтном, например, екзешнике в мэпфайлах или, тем более, ассемблерных листингах ковыряццо — то еще развлечение. А Symbol Sort хотя бы top-100 нарисует.
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.