lib的编写与使用(C/C++)

本文详细介绍了如何在C/C++环境下使用Visual Studio创建和使用库文件(.lib),包括C++编译方式与C编译方式的区别,以及如何正确地链接库文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在C/C++中,一个完整的lib(包含一个.h和.lib)就对应一个.h和.c/.cpp。

在VS中编写lib时如果是.cpp实现的说明是C++编译实现的。那么使用的时候链接就要按照C++的链接方式(反之一样)。具体搜《extern C》的文章。

在VS中,使用lib文件时如果用配置属性绑定lib文件,注意既要指明目录,也要指明具体的.lib文件。这对应于 #pragma comment(lib, "绝对/相对路径 + 文件名.lib")。

如下两种方式:

一、lib文件用C++的方式编译

  A:lib文件的生成:

 1 //file : lib.h 
 2 #ifndef LIB_H
 3 #define LIB_H
 4 int add(int x, int y);
 5 #endif
 6 
 7 //file : lib.cpp
 8 #include"lib.h"
 9 int add(int x, int y)
10 {
11     return x+y;
12 }

  B:lib文件的使用:

1 #include "lib.h"
2 //#pragma comment(lib, "..\\lib\\lib_study.lib") // 也可以在VS中设置
3 int main()
4 {
5     int c = add(3,5);
6     return 0;
7 }

二、lib文件使用C的方式编译

  在VS中cpp默认都是以C++的方式进行编译的,加上 extern "C" 后改为C的编译方式,那么使用的时候也要用C的链接方式。

  A:lib文件的生成:

 1 //file : lib.h 
 2 #ifndef LIB_H
 3 #define LIB_H
 4 extern "C" int add(int x, int y);
 5 #endif
 6 
 7 //file : lib.cpp
 8 #include"lib.h"
 9 int add(int x, int y)
10 {
11     return x+y;
12 }

  B: lib文件的使用:

1 #include "lib.h"
2 //#pragma comment(lib, "..\\lib\\lib_study.lib") // 也可以在VS中设置
3 int main()
4 {
5     int c = add(3,5);
6     return 0;
7 }

注意:对应一、二中lib的使用包含的都是对应的.h文件,他们是不同的。

转载于:https://www.cnblogs.com/jiangyoumiemie/p/3213572.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值