Не надо делать мне как лучше, оставьте мне как хорошо
-
- Перефразируя: таблица указателей - это массив адресов функций
(значение можно загрузить в регистр, но нельзя исполнить на месте).
Таблица переходов - это готовые команды перехода с готовыми
адресами. Их можно исполнять, просто переходя, при выполнении
программы, на нужную "ячейку" таблицы. Верно я понял ваше
высказывание? - Nikolay_Po(Сегодня, 12:55)
- Именно так. Оно кагбэ не сильно принципиально, но трамплины можно удобно импортировать средствами линкера, а с векторами придется корячиться врукопашную. Меня бы напрягло писать, например, LightElf(66 знак., Сегодня, 14:17)
- В зависимости от архитектуры вектора могут быть как таблицей
адресов, так и командами перехода. Но мы же в ЯВУ живём, зачем нам
к архитектуре привязываться. - VladislavS.(Сегодня, 13:41)
- Это не вопрос архитектуры процессора. Вектора - это указатели на функции, трамплины - это код. В минимальном виде - "jmp foo". Отличия небольшие, но есть. Особенно если реализована защита памяти. С практической точки зрения: трамплины можно удобно завернуть в import library и вызывать без этих вот "struct->foo(x)", а просто писать "foo(x)". Дальше - забота линкера. - LightElf(Сегодня, 14:07)
- Перефразируя: таблица указателей - это массив адресов функций
(значение можно загрузить в регистр, но нельзя исполнить на месте).
Таблица переходов - это готовые команды перехода с готовыми
адресами. Их можно исполнять, просто переходя, при выполнении
программы, на нужную "ячейку" таблицы. Верно я понял ваше
высказывание? - Nikolay_Po(Сегодня, 12:55)