1、新建静态库,流程和代码如下。
写类, demoStaticLib.h
#pragma once
class ArrayTool
{
public:
//找出数组中最大值的元素
int MaxElem(const int* lpHead, const int nLength);
//数组元素求和
int Sum(const int* lpHead, const int nLength);
};
写 demoStaticLib.cpp
// demoStaticLib.cpp : 定义静态库的函数。
//
#include "pch.h"
#include "framework.h"
#include "demoStaticLib.h"
// TODO: 这是一个库函数示例
void fndemoStaticLib()
{
}
int ArrayTool::MaxElem(const int* lpHead, const int nLength)
{
int nMaxVal = lpHead[0];
for (int i = 0; i < nLength; i++)
{
if (nMaxVal < lpHead[i])
nMaxVal = lpHead[i];
}
return nMaxVal;
}
int ArrayTool::Sum(const int* lpHead, const int nLength)
{
int nTotal = 0;
for (int i = 0; i < nLength; i++)
{
nTotal += lpHead[i];
}
return nTotal;
}
效果如下:
2、静态库的调用方法:需要新建一个 控制台应用程序。
点击项目,右击添加引用,选择静态库的引用,确定
3、包含静态库头文件所在的目录,选中测试项目,属性——》C/C++——》常规——》附加包含目录——》编辑,添加静态库的文件夹,确定
4、在测试项目中进行测试,测试案例如下:
#include <iostream>
#include "demoStaticLib.h"//调用静态链接库
int main()
{
int aArr[] = { 1, 23, 34, 54, 456, 78, 6 };
ArrayTool at;
int nLen = sizeof(aArr) / sizeof(int);
std::cout << "数组的最大元素是:" << at.MaxElem(aArr, nLen) << std:: endl;
std::cout << "数组的元素之和是:" << at.Sum(aArr, nLen) << std::endl;
system("pause");
return 0;
}
项目视图如下:
5、生成——>右键“设为启动项目”——》启动windows调试器,便可以开始运行了。
6、调试
由于静态库不是一个可执行文件,无法独立运行,所以要通过主程序来进行调试,在主程序中加入一个断点就可以看像正常程序进行调试了。