如何将Qt动态库调用宿主进程中的对象方法纯虚函数实现改写为长尾?
- 内容介绍
- 文章标签
- 相关推荐
本文共计920个文字,预计阅读时间需要4分钟。
目录+引言+在运行时加载动态库并获取对象指针(QLibrary)+本节重点:在动态库中调用宿主进程的对象方法+示例:使用add方法+引言+可执行程序加载动态库并调用动态库导出的函数+
目录
- 引言
- 在运行时加载动态库并获取对象指针(QLibrary)
- 本贴重点:在动态库中调用宿主进程的对象方法
- 还是以add方法为例写一个Demo
引言
可执行程序加载动态库并调用动态库导出的函数是比较容易的:
导入库对应的头文件
在CPP文件中调用函数
在链接程序时加上动态库作为参数
假设demo.cpp中需要用到动态库libadd.so中的某个函数,可能是int add(int x, int y),那么我们编译时就需要链接上libadd.so, gcc参数中-L./libs指定了当前目录下的libs目录为库的目录,-ladd指定了libadd.so动态库文件,注意这里并未使用全称,让编译器自动适配即可。
本文共计920个文字,预计阅读时间需要4分钟。
目录+引言+在运行时加载动态库并获取对象指针(QLibrary)+本节重点:在动态库中调用宿主进程的对象方法+示例:使用add方法+引言+可执行程序加载动态库并调用动态库导出的函数+
目录
- 引言
- 在运行时加载动态库并获取对象指针(QLibrary)
- 本贴重点:在动态库中调用宿主进程的对象方法
- 还是以add方法为例写一个Demo
引言
可执行程序加载动态库并调用动态库导出的函数是比较容易的:
导入库对应的头文件
在CPP文件中调用函数
在链接程序时加上动态库作为参数
假设demo.cpp中需要用到动态库libadd.so中的某个函数,可能是int add(int x, int y),那么我们编译时就需要链接上libadd.so, gcc参数中-L./libs指定了当前目录下的libs目录为库的目录,-ladd指定了libadd.so动态库文件,注意这里并未使用全称,让编译器自动适配即可。

