Russian Qt Forum
Ноябрь 25, 2024, 16:50 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QFunctionPointer приведения к уже объявленому прототипу функции  (Прочитано 2915 раз)
MaxoBik
Гость
« : Май 13, 2015, 15:51 »

Доброго времени суток, я динамически осуществляю вызов функции из одной библиотеки, использую QLibrary::resolve(const char * symbol) и у меня есть заголовочные файлы от этой библиотеки, которые я также подключаю. Вопрос: как можно привести полученный указатель на функции из QLibrary::resolve на существующий и уже объявленный прототип из заголовочного файла этой библиотеки?
Т.е. сейчас вот так:
Код:
 QLibrary lib("libhttpd");
 if(lib.load()){
       typedef int (*some_prototype)(const char*,const char*, size_t,const some_struct*, int); // <-- избавится от ненужно объявления типа и использовать готовый прототип?
       some_prototype fPointer = (some_prototype) lib.resolve("_some_prototype@20");
       if(fPointer){
         /* работа с функцией */
       }
 }
« Последнее редактирование: Май 13, 2015, 15:56 от MaxoBik » Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #1 : Май 13, 2015, 19:00 »

попробуйте
Код:
auto fPointer = (decltype(&headerFunc)) lib.resolve("_some_prototype@20");
Записан
MaxoBik
Гость
« Ответ #2 : Май 13, 2015, 19:07 »

попробуйте
Код:
auto fPointer = (decltype(&headerFunc)) lib.resolve("_some_prototype@20");
Спасибо, то что надо.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #3 : Май 14, 2015, 09:41 »

Лихо
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.128 секунд. Запросов: 22.