Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.16;
Скачать: CL | DM;

Вниз

Как определить длину кода функции в байтах???   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.029 c
1-49590
men
2004-01-05 14:24
2004.01.16
edit


14-49767
SPeller
2003-12-23 23:06
2004.01.16
Вопрос по HTML


3-49426
VicSel
2003-12-17 20:10
2004.01.16
Упаковка таблицы dbf


1-49602
Toots
2004-01-05 12:48
2004.01.16
файл ресурсов


1-49642
Sandman25
2004-01-04 12:30
2004.01.16
published в форме