Win32编程之静态库编写与使用.动态链接库的编写与使

 

    Win32编程之静态库编写与使用.动态链接库的编写与使用

一丶什么是静态库.什么是动态链接库.

  静态库其实就是解决模块开发的一种解决方案.在以前.我们写代码的时候.每个人都可以独立写一个项目.但是现在不行了.一个项目往往要很多人一起去编写.而其中用到的技术就类似于静态库.

每个人编写自己的东西.最后组合.

  动态链接库.也称为Dll. 为什么有了静态库还要有动态链接库. 原因是静态库优缺点的.所以才出了动态链接库补充这个缺点.

缺点:

  1.代码体积大. 使用静态库的程序编译出的体积很大.在汇编的层次中就是把静态库的代码跟可执行文件相链接了.

  2.重复代码多.一个静态库可以有很多人编写.有得函数会有多次编写.

动态链接库就是解决上面缺点的.

二丶如何编写静态库以及如何使用.

1.创建静态库或者lib步骤

   如果是VS系列编译器. 创建静态库的方法. VC++6.0 创建的时候是一个 static lib.... 因为笔者Vc6.0没有安装成功.(确实不支持了) 所以不再累赘

  新建项目 -> VC++ ->win32项目 -> 静态库.

我们可以选择生成dll还是静态库.

2.编写静态lib库

  如果我们创建了一个库文件.那么很简单. 添加一个.h文件. 填加一个实现文件. 

也就是一个.h 一个.cpp

  .h放我们的函数声明.

  .cpp放我们的函数实现即可.

例如下图:

添加一个加法函数.

.h方声明. .cpp实现.

.h中的声明

  

复制代码
int RetMyAddNumber(int a, int b);
复制代码

.cpp的实现.

  

复制代码
int RetMyAddNumber(int a,int b) {     return a + b; }
复制代码

直接编译.然后寻找目录下我们编译好的静态lib库即可.

 

 3.使用静态lib库

  使用我们的静态lib库很简单.

  1.需要.h文件. 也就是我们编写静态lib的声明文件.

  2.需要编译好的静态lib.

  3.我们的程序包含.h声明文件.并且再次使用宏命令包含静态lib.文件  #pragam comment(lib,"xxxx.lib");

这个是第一种方法.

第二种方法是放到目录中.并且VS配置库目录即可. 跟使用C语言的lib库是一样的.具体怎么配置不再累赘. 比较常用第一种.

三丶编写Dll并且使用DLL

  生成我们的DLL跟上面是一样的.主不过选择DLL即可.

 编写DLL 我们也需要有个头文件.跟一个实现文件.因为要给别人使用.

.h声明文件导出我们的Dll

 1.第一种关键字导出方法. 

复制代码
extern "C" _declspec(dllexport) int _stdcall RetMyAddNumber(int a, int b);  extern "C" _declspec(dllexport) int _stdcall RetMySubNumber(int a, int b);
复制代码

.cpp实现文件

  

复制代码
#include "MyDllHead.h"  //必须包含.不包含则不会导出.
int
RetMyAddNumber(int a, int b) { return a + b; } int RetMySubNumber(
关键字:
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信