首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用QLibrary加载库

使用QLibrary加载库
EN

Stack Overflow用户
提问于 2017-07-15 22:12:36
回答 1查看 1.4K关注 0票数 1

我找到了以下用于在Qt中加载库的代码,但我不完全理解它是如何工作的。有人能从typedef int (*MyPrototype)(int, int);给我解释一下吗?

代码语言:javascript
复制
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;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-17 00:21:54

或者dll有函数,我们想要使用它,那么我们如何调用它呢

代码语言:javascript
复制
int add(int in_iParam1, int in_iParam2)

定义函数类型

代码语言:javascript
复制
typedef int (*MyPrototype)(int, int);

在so文件中查找函数'add‘

代码语言:javascript
复制
MyPrototype myFunction = (MyPrototype)library.resolve("add");

使用参数'a‘和'b’调用函数'add‘,并将结果返回给'r1’

代码语言:javascript
复制
r1 = myFunction(a,b);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45119131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档