Я нашел следующий код для загрузки библиотек в Qt, но я не до конца понимаю, как он работает. Может ли кто-нибудь объяснить мне из: typedef int (*MyPrototype)(int, int);
?
int r1 = 0;
QLibrary library("mathlib.so");
if (!library.load())
out << library.errorString() << endl;
if (library.load())
out << "library loaded" << endl;
typedef int (*MyPrototype)(int, int);
MyPrototype myFunction = (MyPrototype)library.resolve("add");
if (myFunction)
r1 = myFunction(a,b);
else
out << library.errorString() << endl;
так или DLL имеет функцию, и мы хотим использовать ее, так как мы можем вызвать ее
int add(int in_iParam1, int in_iParam2)
определить тип функции
typedef int (*MyPrototype)(int, int);
ищет функцию «добавить» в файле так
MyPrototype myFunction = (MyPrototype)library.resolve("add");
Вызовите функцию «add» с параметрами «a» и «b» и получите результат для «r1»
r1 = myFunction(a,b);
Других решений пока нет …