Главная страница
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.03 c
14-49756
KILLER_ABV
2003-12-22 12:17
2004.01.16
Помогите написать собственный TrayBar.


1-49576
Lt
2004-01-05 09:00
2004.01.16
Переменные и TEdit


6-49661
BelAS
2003-11-14 07:08
2004.01.16
Обновление по сети


1-49625
miracle_fox
2004-01-03 13:01
2004.01.16
как выделение цветом текста RichEdit между заданными символами


3-49390
Denis555
2003-12-19 19:03
2004.01.16
TTable не хочет отправлять изменения на MSSQL