windows环境下静态库的生成和使用 (.lib文件)

本文介绍了在Windows环境下如何创建和使用静态库。通过示例代码详细解释了如何编译生成静态库文件以及如何在应用程序中链接并使用这些库文件。

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

         这一阵子工作中用到了静态库和动态库的相关知识,自己以前还真的不是特别明白。趁着这个机会,在网上查找了一些和静态库,动态库编程相关的资料,小小的记录一下。Linux环境下的已经记录下来,现在写的windows环境下的静态库和动态库笔记。先说静态库。
        和linux环境下的静态库一样,windows环境下的静态库文件也是一些目标文件的集合体。我们先看一看生成库文件的源文件的代码:
/*	testlib.h		*/
#ifndef _TESTLIB_H_
#define _TESTLIB_H_

#ifdef __cplusplus 
extern "C" { 
#endif
	
int fun1();
int fun2();
	
#ifdef __cplusplus 
} 
#endif 

#endif // _TESTLIB_H_
/*	testlib.cpp	*/
#include <stdio.h>
#include "testlib.h"

int fun1()
{
	return 1;
}

int fun2()
{
	return 2;
}
        使用VC编译器建立一个工程,指明要建立工程的类型是“Win32 Static Library”。进行编译链接,会生成一个名为testlib.lib的静态库文件。这个testlib.lib是VC编译器使用testlib.o文件链接生成的。我们这里只使用了一个目标文件。
        下面我们看一看如何使用这个库文件。使用VC编译器建立一个空工程,工程类型是控制台程序。添加一个文件testLibConsole.cpp文件到工程中。敲入如下代码:
#include <iostream>
#include "testlib.h"
using namespace std;

#pragma comment(lib,"testlib.lib")

int main()
{
	printf("fun1() return value is %d\n",fun1());
	printf("fun2() return value is %d\n",fun2());
	return 0;
}

        记得要将testlib.h头文件和testlib.lib库文件放在此工程的目录下,否则编译链接会失败。我们生成可执行文件testLibConsole.exe之后,就不需要这个testlib.lib库文件了。

参考网站:
http://www.functionx.com/visualc/libraries/staticlib.htm
http://www.functionx.com/visualc/libraries/staticdll.htm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值