QT 静态库和动态库的使用方法

本文详细介绍了如何在Qt中创建和使用静态库及动态库。首先,通过步骤展示了创建Qt静态库的流程,并解释了生成的库文件作用。接着,演示了在Qt工程中调用静态库的方法。然后,转向动态库的创建,重点讨论了两种调用动态库的方式:一种需要h、a和dll文件,另一种仅需h和dll文件,但需要在库中添加C接口。最后,总结了静态库和动态库调用的关键点。
摘要由CSDN通过智能技术生成

QT 静态库和动态库的使用方法


背景知识:程序在编译成可执行文件时,会有四步过程:
1预处理(头文件和宏定义) g++ -E 1.cpp -o 1.i
2编译 将c代码编译成汇编代码 g++ -S 1.cpp -o 1.s
3汇编 将汇编代码编译成二进制代码 g++ -c 1.cpp -o 1.o
4链接 链接我们用到的函数代码 还有地址(包含静态库而动态库是在运行时链接) gcc 1.c
静态库:在程序的链接阶段被复制到了程序中,和程序运行的时候没有关系;
动态库:在链接阶段没有被复制到程序中,而是程序在运行时由系统动态加载到内存中供程序调用。使用动态库的优点是系统只需载入一次动态库,不同的程序可以得到内存中相同的动态库的副本,因此节省了很多内存。

一 Qt创建静态库:
1.点击New Project ->Library ->C++库 点击choose

2.在类型选择静态链接库,点击下一步。在这里插入图片描述
3.然后一直点击下一步。

代码如下:
Lib.h
#include “lib.h”

Lib::Lib()
{
}
long Lib::add(int a, int b)
{
return a+b;
}
Lib.cpp
#include “lib.h”

Lib::Lib()
{
}
long Lib::add(int a, int b)
{
return a+b;
}
编译后会生成Lib.o和Lib.a文件。
Lib.o:是我们生成的二进制过程文件。
Lib.a:这就是我们的静态库文件。
二:Qt静态库调用
新建widget工程
pro:
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = test
TEMPLATE = app
D

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值