静态链接库
什么是静态链接库
静态链接库就是你使用的.lib文件,库中的代码最后需要连接到你的可执行文件中去,所以静态连接的可执行文件一般比较大一些。
创建静态链接库工程
- 打开Visual Studio 2013
- 新建项目(Ctrl+Shift+N):
菜单栏 -> 文件(F) -> 新建(N) -> 项目(P) - 选择Visual C++ -> Win32 -> Win32控制台应用程序
文件名称自定义,这里我命名为MyAtoi,点击确定
- 点击下一步
- 先选择控制台应用程序,然后勾选下面的空项目,最后选择静态库,完成
- 创建成功解决方案如下图所示
创建静态链接库
- 添加myatoi.h、myatoi.c,新的解决方案项目如下所示
- 添加myatoi.h、myatoi.c代码
myatoi.h
#pragma
//此函数将字符串转换成整型,例:*str = "123456",返回整型数123456
int MyAtoi(char *str);
myatoi.c
#include "stdafx.h"
#include "MyAtoi.h"
int MyAtoi(char *str)
{
int s = 0;
bool isMinus = false;
while (*str == ' ')
{
str++;
}
if (*str == '+' || *str == '-')
{
if (*str == '-')
{
isMinus = true;
}
str++;
}
else if (*str < '0' || *str > '9')
{
return 0;
}
while (*str != '\0' && *str > '0' && *str < '9')
{
s = s * 10 + *str - '0';
str++;
}
return s * (isMinus ? -1 : 1);
}
- 生成myatoi.lib(Ctrl+Shift+B)
右键解决方案 ->生成解决方案 - 在该项目下的Debug下能看到MyAtoi.lib
使用静态链接库
新建一个win3控制台应用程序,复制刚才生成的myatoi.h和myatoi.lib到该目录下
选择项目 -> 配置属性 ->链接器 ->输入 ->附加依赖项 ->写入myatoi.lib
此时就已经添加成功静态链接库了
测试
#include <iostream>
#include "MyAtoi.h"
using namespace std;
int main()
{
char *s = "123456";
cout << MyAtoi(s) << endl;
system("pause");
return 0;
}