VS2015静态库的使用(上)

来源:互联网 发布:苹果手机怎么抹除数据 编辑:程序博客网 时间:2024/06/11 04:21


相关视频教程下载地址http://pan.baidu.com/s/1dFnGUD7

静态库是一个包含了数据和函数的二进制的文件,其后缀名是lib。当使用静态库编译链接可执行文件时,链接器从库中复制这些函数和数据并把它们和应用程序的其它模块组合起来创建最终的可执行文件。 

1静态库的创建

首先在VS2015中创建一个“Win32项目,之后将应用程序类型设置为静态库,如图1-1所示。

 

1-1 创建静态库项目

创建静态库时,需要创建库的头文件和源文件。

1.1创建头文件

  选中解决方案资源管理器中静态库项目的头文件,之后鼠标右键弹出菜单,选择添加->新建项,添加一个名为Win32_LIB_Test.h的头文件。并在该头文件中声明一个名为“add”的函数,该函数的作用是返回两个加数的和,参数为两个加数,返回值为和。

#pragma once

extern "C" unsignedint add(unsigned int x,unsigned int y);

 其中,extern “C”表示add()函数采用C语言方式进行编译。

相关链接:

C++函数默认的调用方式为_cdecl,以上add()函数等价于

extern "C" _cdecl unsignedint add(unsigned int x,unsigned int y);

此时,编译后的add()函数名为“_add”;而如果不加extern “C”修饰,则编译后的add()函数的函数名为“?add@YAHHH@Z”。WINAPI函数的调用方式是_stdcall,如果add()函数的声明方式为

extern "C" _stdcall unsignedint add(unsigned int x,unsigned int y);

则其编译后的函数名为_add@8,其中8表示函数参数的字节数。

 1.2源文件的编写

选中解决方案资源管理器中静态库项目的文件,之后鼠标右键弹出菜单,选择添加->新建项,添加一个名为Win32_LIB_Test.cpp文件。在源文件中添加以下代码

#include "stdafx.h"

#include "Win32_LIB_Test.h"

int add(unsigned int x,unsigned int y)

{

return x +y;

}

1.3 静态库的编译

点击VS2015菜单栏中的“生成->重新生成解决方案”,重新生成静态库文件。此时在程序源代码所在的“Debug”文件夹中就会生成Win32_LIB_Test.lib静态库文件。

2 静态库的使用

在生成了静态库之后,接下来创建一个基于对话框的MFC程序,在MFC程序中调用静态库中的add()函数。

2.1 MFC程序的创建

2.1.1界面设计

新建一个MFC应用程序”,在“应用程序类型”中选择“基于对话框”,如图2-1所示。

 

2-1 创建基于对话框的MFC程序

  接下来为该MFC对话框程序设计界面,如图2-2所示

 

2-2 界面设计

其中,IDC_EDIT_ADD1IDC_EDIT_ADD2两个编辑框控件用来输入两个加数,当点击了IDC_BUTTON_RESULT按键后,在IDC_EDIT_RESULT中显示这两个加数的和。

原创粉丝点击