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

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

前言

静态库的学习

本节为Visual Studio 2022的编译器


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

一、静态库的作用?


静态库是指在我们的应用中,有一些公共代码是需要反复使用,就把这些代码编译为“库”文件;在链接步骤中, 连接器 将从库文件取得所需的 代码 ,复制到生成的 可执行文件 中的这种库。

在一个软件中可以有很多lib文件 如:

9419ef2a3bab415489994531bddfcbc6.png

后缀为.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;

点击重新生成项目 也可以点运行

如果是运行,出现一下是正常的:


57a36454631a4d748c3d1c6f3d954a00.png

点击确定

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;
}

运行:


1e0f42b83c2748c4af8bcff44b3f2866.png

总结:

创建一个静态库

添加一个头文件

添加头文件重复包含#pragma once

#ifndef 标头_H


//函数


#define 标头_H

#endif


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


编译,添加另外一个项目

包含头文件 “…/”相对路径 打开库头文件

在 项目->属性->连接器中->常规->附加库目录->库文件的决定路径/相对路径

#pragma comment(lib,“1.lib”)//打开lib文件

使用库函数


相关文章
|
15天前
|
算法 C++ 容器
C++标准库(速查)总结
C++标准库(速查)总结
50 6
|
28天前
|
存储 算法 C++
C++ STL 初探:打开标准模板库的大门
C++ STL 初探:打开标准模板库的大门
81 10
|
15天前
|
存储 程序员 C++
C++常用基础知识—STL库(2)
C++常用基础知识—STL库(2)
54 5
|
15天前
|
存储 自然语言处理 程序员
C++常用基础知识—STL库(1)
C++常用基础知识—STL库(1)
37 1
|
2月前
|
编译器 API C语言
超级好用的C++实用库之跨平台实用方法
超级好用的C++实用库之跨平台实用方法
34 6
|
2月前
|
安全 C++
超级好用的C++实用库之环形内存池
超级好用的C++实用库之环形内存池
43 5
|
2月前
|
缓存 网络协议 Linux
超级好用的C++实用库之套接字
超级好用的C++实用库之套接字
29 1
|
2月前
|
存储 算法 安全
超级好用的C++实用库之sha256算法
超级好用的C++实用库之sha256算法
66 1
|
1月前
|
程序员 C++ 开发者
C++入门教程:掌握函数重载、引用与内联函数的概念
通过上述介绍和实例,我们可以看到,函数重载提供了多态性;引用提高了函数调用的效率和便捷性;内联函数则在保证代码清晰的同时,提高了程序的运行效率。掌握这些概念,对于初学者来说是非常重要的,它们是提升C++编程技能的基石。
21 0
|
2月前
|
存储 算法 安全
超级好用的C++实用库之国密sm4算法
超级好用的C++实用库之国密sm4算法
43 0