编写VC静态库的
来源:互联网 发布:彬哥破解软件 编辑:程序博客网 时间:2024/06/08 00:59
1、静态库的生成:
在vc6.0++中Ctrl+N选择Projects下的Win32 Static Library,Project name:SumLib,点击OK,下一页中的两项可选可不选,点击Finish完成。
在此工程中新建lib.h和lib.cpp两个文件,源码如下:
//lib.h #ifndef LIB_H #define LIB_H int add(int x, int y); #endif //lib.cpp #include "lib.h" #include "StdAfx.h"//此处不加此语句总是出错 int add(int x, int y) { return (x+y); }
编译这个工程就得到了SumLib.lib文件,此文件就是一个函数库,它提供了add的功能。将lib.h头文件和SumLib.lib提交给用户后,用户就可以直接使用其中的add函数了。
2、静态库的调用:
新建一个控制台应用程序,仅有一个main.cpp文件,源码如下:
#include "lib.h" #include <iostream> using namespace std; #pragma comment(lib, "SumLib.lib") //指定与静态库一起连接 int main(int argc, char* agrv[]) { int sum = add(4, 5); cout<<sum<<endl; return 0; }
将生成的lib.h头文件和SumLib.lib静态库放到此工程的目录下即可执行。
静态链接库与动态链接库都是共享代码的方式,它们的区别在于以下两点:
(1)采用静态链接库(lib)时,lib中的指令被全部直接包含在最终生成的exe文件中;但采用dll时,该dll不必被包含在最终exe文件中,exe文件执行时可以“动态”地引用和卸载这个与exe独立的dll文件,从而在运行时节省系统资源。
(2)静态链接库中不能再包含其他的动态链接库或者静态库,而在动态链接库中还可以再包含其他的动态或静态链接库。
(3)静态链接库由.h和.lib文件组成,.h文件要声明.lib中供外界调用的函数的原型,不能缺少。
(4)VC6中调用静态链接库.lib一共有3种方法:
①使用语句#include "lib.h",并将lib.h拷贝到当前工程目录下;对SumLib.lib使用语句 #pragma comment(lib,"***//SumLib.lib"),将SumLib.lib拷贝到目录"***//SumLib .lib"下。
②使用语句#include “lib.h",并在工具->选项->目录->路径中添加lib.h的路径;对SumLib.lib,在工程->设置->连接->对象/库模块中添加SumLib.lib,并在工具->选项->目录->路径中添加SumLib.lib的路径。
③lib.h文件的处理同①或②;对SumLib.lib,在工程->添加到工程->文件中导入此.lib文件。
- 编写VC静态库的
- 静态库的编写
- 静态库的编写
- VC下动态库DLL、静态库LIB的编写和使用方法
- 静态库lib的编写
- VC静态库的应用
- VC静态库的合并
- vc的静态库依赖
- VC静态库的调试
- 编写通用的静态库.a文件
- 静态库的编写与使用
- 静态库的创建和编写makefile
- vc编写自己的动态链接库
- VC的makefile编写
- vc 的静态连接库调用
- vc 的静态连接库调用
- 关于VC++中静态库的调用
- 关于VC++中静态库的调用
- Oracle Enterprise Linux 64-bit 下Oracle11g的监听配置修改及测试步骤
- hdfs客户端配置
- 百度卫士,给您带来轻巧、快速、智能、纯净的防毒防护电脑的产品体验
- ConcurrentModificationException 避免
- Android在Dialog中显示PopupWindow不全问题解决
- 编写VC静态库的
- Java中的图形界面编程
- c#中做在线预览时没有在利用using时发现没有Microsoft.Office.Interop.Word;这个引用解决方案
- android欢迎界面怎么屏蔽掉标题栏
- 蓝桥杯 乘积最大
- 使用eWebEditor 不显示内容的问题
- Accessing 64 bit registry from a 32 bit process
- Integer to Roman
- 第三十题 从1开始顺序输出n位的整数