Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Получение информации о методах объекта из бинарика 
:(
    Опции темы
anrkaid
Дата 26.9.2010, 08:03 (ссылка)  | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 26.9.2010

Репутация: нет
Всего: нет



Задача стоит так: есть объект с методами. Он может реализовывать какие-то интерфейсы, а может и не реализовывать. Требуется определить, что он умеет делать из полного списка методов. Сам объект находится  во внешней либе, so или dll. Я могу только получить указатель на него. Тот факт, что если подключить .h файл объекта, то компилятор вполне "знает", как найти методы, даже если код генерирован разными компиляторами натолкнул на мысль, что информацию о методах можно выдрать ручками. Вопрос в том, как это сделать и нет ли других способов решить проблему.
PM MAIL   Вверх
Earnest
Дата 27.9.2010, 07:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 53
Всего: 183



Цитата(anrkaid @  26.9.2010,  09:03 Найти цитируемый пост)
натолкнул на мысль, что информацию о методах можно выдрать ручками.

Нельзя. Компилятор как раз пользуется h-файлом, и если подсунуть неправильную структуру, будет весело.
Для этого дела придуманы интерфейсы, в частности COM. Интерфейс == набор методов, у COM-указателя можно спросить, поддерживается ли данный интерфейс.


--------------------
...
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0428 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.