Lib 静态链接库(ZZ)
来源:互联网 发布:3g网络和4g网络的区别 编辑:程序博客网 时间:2024/06/16 04:54
转载自:http://www.cppblog.com/ivenher/archive/2008/06/12/1310.html
VC动态链接库的分类 Visual C++支持三种DLL,它们分别是Non-MFC DLL(非MFC动态库)、MFC Regular DLL(MFC规则DLL)、MFC Extension DLL(MFC扩展DLL)。 非MFC动态库不采用MFC类库结构,其导出函数为标准的C接口,能被非MFC或MFC编写的应用程序所调用; MFC规则DLL 包含一个继承自CWinApp的类,但其无消息循环; MFC扩展DLL采用MFC的动态链接版本创建,它只能被用MFC类库所编写的应用程序所调用。静态链接库在VC++6.0中new一个名称为libTest的static library工程,并新建lib.h和lib.cpp两个文件,lib.h和lib.cpp的源代码如下:
//文件:lib.h#ifndef LIB_H#define LIB_Hextern "C" int add(int x,int y); //声明为C编译、连接方式的外部函数#endif//文件:lib.cpp#include "lib.h"int add(int x,int y){return x + y;}
编译这个工程就得到了一个.lib文件,这个文件就是一个函数库,它提供了add的功能。将头文件和.lib文件提交给用户后,用户就可以直接使用其中的add函数了。 标准Turbo C2.0中的C库函数(我们用来的scanf、printf、memcpy、strcpy等)就来自这种静态库。下面来看看怎么使用这个库,在libTest工程所在的工作区内new一个libCall工程。libCall工程仅包含一个main.cpp文件,它演示了静态链接库的调用方法,其源代码如下:
#include <stdio.h>#include "../lib.h"#pragma comment( lib, "..//debug//libTest.lib" ) //指定与静态库一起连接int main(int argc, char* argv[]){printf( "2 + 3 = %d", add( 2, 3 ) );}
静态链接库的调用就是这么简单,或许我们每天都在用,可是我们没有明白这个概念。代码中#pragma comment( lib , "..//debug//libTest.lib" )的意思是指本文件生成的.obj文件应与libTest.lib一起连接。
- Lib 静态链接库(ZZ)
- 静态链接库lib
- Lib 静态链接库
- Lib 静态链接库 -1
- Lib 静态链接库 2
- unix下静态库的链接顺序问题(zz)
- 动态链接库(.dll、.lib)与静态链接库(.lib)的创建与使用
- 动态链接库(DLL)和静态库(lib)
- 动态链接库dll 静态链接库lib 动态导入库lib ,静态库
- [c/c++]LIB(静态链接库)和DLL(动态链接库)
- 关于静态链接库(LIB)和动态链接库(DLL)的理解
- 静态链接库(.lib)和动态链接库(.dll)的区别和使用
- 【C++ Primer】静态链接库(lib)和动态链接库(dll)的区别和使用
- 【C++ Primer】静态链接库(lib)和动态链接库(dll)的区别和使用
- 【C++ Primer】静态链接库(lib)和动态链接库(dll)的区别和使用
- lib与dll的关系(详解静态链接库和动态链接库)
- 静态链接库(lib)和动态链接库(dll)的区别和使用
- dll、lib(动态链接库、静态链接库)的区别
- Web Services版本控制
- JSTL详解
- 在eclipse rcp项目中使用jni
- 在.NET平台下使用SQL2000 Image类型数据
- 第一台电子计算机
- Lib 静态链接库(ZZ)
- java集合详解(转自楼道小组)
- 冰海沉船
- 冰海沉船
- 冰海沉船
- 又见乱码
- 冰海沉船
- MFC常用控件
- 郎咸平:中国的八大危机之详解