Bootstrap

C/C++ 静态库(lib)的概念和使用方法


前言

静态库的学习
本节为Visual Studio 2022的编译器


以下是本篇文章正文内容,下面案例可供参考

一、静态库的作用?

静态库是指在我们的应用中,有一些公共代码是需要反复使用,就把这些代码编译为“库”文件;在链接步骤中, 连接器 将从库文件取得所需的 代码 ,复制到生成的 可执行文件 中的这种库。
在一个软件中可以有很多lib文件 如:
在这里插入图片描述
后缀为.lib的都是

二、lib的创建使用

1.创建lib项目

点击Windows桌面向导->应用程序类型->静态库->空项目

2.编写lib代码

创建源文件demo.cpp© 和 头文件demoh.h
在头文件中写:防止头文件重复包含:

#pragma once
#ifndef demoh_H

#define demoh_H

#endif 

#ifndef demoh_H~#define demoh_H之间写函数和变量或对象

#pragma once
#ifndef demoh_H

void add(int a,int b);//函数
class student
{
public:
	static int stu;
};

#define demoh_H

#endif 

打开源文件demo.cpp©中
包含头文件 demoh.h
在源文件中写函数主体

#include "demoh.h"
int add(int a, int b)
{
	return a + b;
}

int student::stu = 188;

点击重新生成项目 也可以点运行
如果是运行,出现一下是正常的:
在这里插入图片描述
点击确定

3.使用lib文件

创建新的项目
设为启动项

添加源文件cpp

如何包含lib中的头文件?
1.使用相对路径:#include “…/你的lib文件/头文件”
2.使用绝对路径: 打开资源管理器->打开头文件所在的文件夹->把他的地址写进去->“/”需要两个

在控制台项目->属性->链接器->常规->附加库目录->写lib在的文件的绝对路径/相对路径

打开lib文件
+#pragma comment(lib,"Project1.lib")

使用

#include <iostream>
#include "../Project1/demoh.h"//包含库头文件
using namespace std;
#pragma comment(lib,"Project1.lib")//打开库

int main()
{
	cout<<add(1, 10)<<endl;//使用函数

	return 0;
}

运行:
在这里插入图片描述

总结:

创建一个静态库
添加一个头文件
添加头文件重复包含#pragma once
#ifndef 标头_H

//函数

#define 标头_H
#endif

添加cpp 在里面包含头文件 写函数声明

编译,添加另外一个项目
包含头文件 “…/”相对路径 打开库头文件
在 项目->属性->连接器中->常规->附加库目录->库文件的决定路径/相对路径
#pragma comment(lib,“1.lib”)//打开lib文件
使用库函数

;