c++中静态库和动态库的创建与链接(一)

本文详细介绍了静态库的创建和链接过程,包括头文件、源文件的编写、库文件的生成及应用实例。

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

/*今天学习了下动态链接库这方面的内容,为了梳理下知识以及以后复习使用,特做如下简单总结:*/

1、静态库

     函数和数据被编译进一个二进制文件(扩展名位 .LIB)。在使用静态库的情况下,在编译器链接可执行文件时,链接器从库中复制这些函数和数据并把它们和应用程序的其他模块组合起来创建最终的可执行文件(.EXE)。发布产品时,不需要发布使用的静态库。

1.1 静态库的创建

A:File->New->Projects->Win32 Static Library (这里我创建的工程名字为libTest)->Finish

B:File->New->File->C/C++ Header File  (lib.h)

///头文件对add函数进行声明:

#ifndef LIB_H
#define LIB_H
extern "C" int add(int a,int b);
#endif

C:File->New->File->C++ Source File (lib.cpp)

////定义add

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

D:编译后,打开程序文件夹。可以在debug文件看到有个libTest.lib文件。这就是生成的静态库文件

 

1.2静态库的链接

A:重新打开一个工程

File->New->Projects->Win32 Console Application

B:创建一个源文件(libCall.cpp)

这时我们将1.1节中生成的libTest.lib文件和lib.h头文件copy到libCall文件夹中

在源文件中我们将调用lib文件中add(int a, int b)这个函数来完成简单的加法运算。

编程如下

/// libCall.cpp

#include <iostream.h>
#include "lib.h"  ///包含头文件
#pragma comment(lib,"libTest.lib") ///链接静态库 

void main()
{
 cout<<add(2,3)<<endl;
 return ;
}

C:编译,运行。正确无误。。。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值