Форум: "Потрепаться";
Текущий архив: 2004.01.16;
Скачать: [xml.tar.bz2];
ВнизКак определить длину кода функции в байтах??? Найти похожие ветки
← →
Rauf (2003-12-25 00:11) [0]Т.е. память, которая резервируется под машинные инструкции для данной функции!!!
Пишу под Visual Studio 2003, так что желательно под VS 2003, но в крайнем случае можно для всего!!! Кстати необязательно способы на этапе выполнения проги, нужно просто знать, сколько функция жрет!!!
Заранее спасибо, если что можете переспросить!!!
← →
Ломброзо (2003-12-25 00:24) [1]утилитами навроде Depends из комплекта VS? Выводит список смещений адресов по порядку.
← →
Rauf (2003-12-25 00:47) [2]Прошу прощения, и где там он выводит список смещений адресов? (при профайлинге?)
← →
Rouse_ (2003-12-25 02:31) [3]ASM знаем?
Если да... зачем спрашивать?
← →
Юрий Зотов (2003-12-25 07:25) [4]Многие компиляторы располагают машинный код функций в том же порядке, как они идут в сырцах. Во всяком случае, именно так делает компилятор Delphi и, насколько помню, VC-шный тоже.
При таком компиляторе задача решается элементарно просто (причем я реально так и делал - все работало). Проверьте - думаю, этот способ будет работать и у Вас тоже (контрольную цифру можно получить, просмотрев код любым дизассемблером, хотя бы и встроенным в среду).
procedure A;
begin
...
end;
procedure B;
begin
...
end;
procedure C;
var
LengthProcA: DWORD;
begin
LengthProcA := DWORD(@B) - DWORD(@A)
end;
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2004.01.16;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c