Главная страница
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.016 c
1-49517
Shur2005
2004-01-02 09:26
2004.01.16
TImage


3-49455
Andriy Tysh
2003-12-16 15:46
2004.01.16
Возвратить значение COMPUTE


11-49477
BaRToV
2003-04-28 10:07
2004.01.16
TDirList +


14-49742
barbi
2003-12-23 10:22
2004.01.16
Москва дезинформирует о погоде в нашем регионе, а как в ваших?


3-49433
Overstep
2003-12-12 17:57
2004.01.16
Проблема с ADO на клиенте