Как получить размер функции?06.04.2012, 15:27. Показов 5499. Ответов 13
Метки нет (Все метки)
её начало я получаю с помощью ассемблера(offset), не получается получить её конец и вычислить её длину
P. S. Borland c++ 6
0
|
|
| 06.04.2012, 15:27 | |
|
Ответы с готовыми решениями:
13
Получить массив char и его размер из функции - Указатель не меняется вне функции Как получить размер блока в файловой системе Как измерить размер функции в байтах? |
|
Модератор
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
|
|
| 06.04.2012, 15:34 | |
|
0
|
|
|
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
|
|
| 06.04.2012, 15:59 | |
|
Легально (т.е. средствами, гарантированными Стандартом языка, а значит, работающими всегда и на всех мыслимых платформах) - никак.
0
|
|
|
Формучанин
364 / 296 / 42
Регистрация: 02.11.2010
Сообщений: 1,245
|
||||||
| 06.04.2012, 16:52 | ||||||
|
А если говорить о нелегальных способах, то можно так(тестировалось на 32 битных осях, винда и линукс, компилятор mingw/gcc соответственно):
Добавлено через 8 минут з.ы. предлагаю модераторам перенести эту тему сюда https://www.cyberforum.ru/cpp/ имхо, вопрос не попадает в категорию "для новичков"
2
|
||||||
|
Формучанин
364 / 296 / 42
Регистрация: 02.11.2010
Сообщений: 1,245
|
||
| 06.04.2012, 20:39 | ||
|
идея в том, чтобы создать переменную и положить в неё размер функции, который вычисляется как разница между началом и концом, это я и привёл в примере.
1
|
||
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
| 06.04.2012, 22:43 | |
|
А зачем оно вообще нужно?
0
|
|
|
Формучанин
364 / 296 / 42
Регистрация: 02.11.2010
Сообщений: 1,245
|
||||||||
| 07.04.2012, 06:45 | ||||||||
|
з.ы. можно ещё попробовать так:
1
|
||||||||
| 07.04.2012, 14:23 [ТС] | |
|
а кто знает дериктивы которые бы размещали функции в том порядке в котором они встречаются в коде, и точно в том же порядке размещали данные в сегменте данных.
Добавлено через 8 минут объясните странность void MyMessage() { MessageBox(0,"OK","OK",MB_OK ); return; } MessageBox весит 5 байт, return 1 получаем 6, всё правильно но если убрать MessageBox размер равен двум, как так??
0
|
|
|
Формучанин
364 / 296 / 42
Регистрация: 02.11.2010
Сообщений: 1,245
|
|||||||||||||||||||||||
| 07.04.2012, 14:41 | |||||||||||||||||||||||
компилятор вправе делать ассемблерный код по своему усмотрению. Вот ассемблерный код он не переиначит...
пример(mingw, синтаксис intel): код 1
дизазм 1 (размер 47)
код 2
дизазм 2 (размер 5)
1
|
|||||||||||||||||||||||
|
|
|
| 07.04.2012, 20:30 | |
|
1
|
|
| 07.04.2012, 20:30 | |
|
Помогаю со студенческими работами здесь
14
Как получить размер папки
Как получить размер изображения в КБ Как получить размер файла Как получить размер папки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|