Как измерить размер кода?
Когда обсуждаются определенные функции или оптимизации, часто упоминается Размер кода.
Хотя я, конечно, понимаю базовую концепцию, то есть то, что набор кода, скомпилированный в машинный код, приведет к X байтам машинного кода (плюс статические данные), я недавно понял, что я очень не уверен, как на самом деле измерить размер кода данного двоичного файла.
Итак, как вы измеряете размер кода?
Вы просто проверяете, насколько велик получаемый бинарный файл ("исполняемый файл", .exe
) является? Вам нужен инструмент, такой как dumpbin.exe
или какие-то конкретные флаги компоновщика для получения подробных результатов?
3 ответа
Вы можете указать компоновщику создать файл карты. Это дает наиболее подробную информацию, которую легко получить (т. Е. Намного меньше, чем просто пересмотреть код вручную).
В зависимости от кода, использование dumpbin для объектного файла может дать значимые результаты, но может также привести к просто "анонимному объекту" - особенно (исключительно?), Когда вы запрашиваете генерацию кода во время компоновки.
Я бы сказал, что лучше всего разбирать бинарный файл.
В контексте оптимизации кода, общий размер кода, как правило, не то, что подразумевается, а скорее размер кода для какой-то конкретной части вашей программы.
Если вы имеете в виду.exe в байтах в буквальном смысле, я думаю, что вы слишком обдумываете вопрос. Ваш файловый менеджер должен сказать справа размер файлов (если это не так, щелкните правой кнопкой мыши файл и откройте свойства). Файлы, которые вы ищете, должны быть в отладке с именем.exe Если что-то еще, извините.