windows环境下静态库的生成和使用 (.lib文件)
来源:互联网 发布:日本经济数据统计局 编辑:程序博客网 时间:2024/04/26 23:57
这一阵子工作中用到了静态库和动态库的相关知识,自己以前还真的不是特别明白。趁着这个机会,在网上查找了一些和静态库,动态库编程相关的资料,小小的记录一下。Linux环境下的已经记录下来,现在写的windows环境下的静态库和动态库笔记。先说静态库。
和linux环境下的静态库一样,windows环境下的静态库文件也是一些目标文件的集合体。我们先看一看生成库文件的源文件的代码:
下面我们看一看如何使用这个库文件。使用VC编译器建立一个空工程,工程类型是控制台程序。添加一个文件testLibConsole.cpp文件到工程中。敲入如下代码:
和linux环境下的静态库一样,windows环境下的静态库文件也是一些目标文件的集合体。我们先看一看生成库文件的源文件的代码:
/*testlib.h*/#ifndef _TESTLIB_H_#define _TESTLIB_H_#ifdef __cplusplus extern "C" { #endifint 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
- windows环境下静态库的生成和使用 (.lib文件)
- vs2010环境下生成lib文件 使用lib文件
- Linux环境下静态库的生成和使用 (.a文件)
- Linux环境下静态库的生成和使用 (.a文件)
- Linux环境下静态库的生成和使用 (.a文件)
- Linux环境下静态库的生成和使用 (.a文件)
- Linux环境下静态库的生成和使用 (.a文件)
- Linux环境下静态库的生成和使用 (.a文件)
- windows下静态库的生成和使用
- vs2013中静态库lib文件的生成与使用
- Linux环境下静态库和动态库的生成和使用 (.a文件和.so文件)
- VS2013下静态链接库(lib)和动态链接库(dll)的生成与使用
- windows环境下动态库的生成和使用 (.dll文件) .
- 静态库 lib的生成和使用 Visual C++ 6.0
- VS2005环境下生成静态lib库及调用方法
- VS2005环境下生成静态lib库及调用方法
- VS 环境下生成静态lib库及调用方法
- VS2005环境下生成静态lib库及调用方法
- 实现点击按钮获取和设置edit文本的方法
- linux 共享库知识整理
- 分享我幸福快乐的小世界...
- 用内存流 文件流 资源生成客户端(Delphi开源)
- 用Delphi创建服务程序
- windows环境下静态库的生成和使用 (.lib文件)
- ubuntu10.04下安装jdk与java环境变量配置
- android控件23 ContentProvider
- android控件24 BroadcastReceiver
- android控件25 Intent
- android导入项目常见问题解决
- Cassandra中的二级索引
- 使用Oracle Developer Tools For Visual Studio .NET
- 粗心的下场