Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 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
1-49593
Toots
2004-01-05 12:56
2004.01.16
параметр командной строки


14-49683
SPeller
2003-12-26 13:06
2004.01.16
Глюки с биосом.


1-49571
Mihey
2004-01-05 20:45
2004.01.16
Снять выделение при загрузке формы


1-49611
Rimd
2004-01-04 12:41
2004.01.16
ComboBox


1-49526
ИМХО
2004-01-02 01:09
2004.01.16
Свойство AllocBy у TListView





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский