【C++】04 静态库

创建静态库

  1. 在解决方案中添加新项目,选择静态库,命名为demoStaticLib
    在这里插入图片描述
  2. 在静态库项目中,添加头文件demoStaticLib.h
    在这里插入图片描述
  3. 在头文件中demoStaticLib.h添加如下类声明。
#pragma once
//demoStaticLib.h

class ArrayTool
{
public:
	//找出数组中最大值的元素
	int Max(const int* lpHead, const int nLength);

	//数组元素求和
	int Sum(const int* lpHead, const int nLength);

protected:
private:
};

在源文件中输入如下实现。

// demoStaticLib.cpp : 定义静态库的函数。
//

#include "pch.h"
#include "framework.h"
#include "demoStaticLib.h"

// TODO: 这是一个库函数示例
void fndemoStaticLib()
{
}

int ArrayTool::Max(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;
}
  1. 在项目demoStaticLib上右键生成,即可生成静态库demoStaticLib.lib
    在这里插入图片描述

调用静态库

  1. 在解决方案中新建项目控制台应用useStaticApp.cpp
    在这里插入图片描述
  2. 引入静态库。右键useStaticApp项目,添加 → \rightarrow 引用 → \rightarrow 勾选demoStaticLib
    在这里插入图片描述
  3. 包含静态库头文件所在的目录。右键useStaticApp项目,属性 → \rightarrow 配置属性 → \rightarrow C/C++ → \rightarrow 常规 → \rightarrow 附加包含目录 → \rightarrow 添加新行 → \rightarrow 选择静态库所在目录。
    在这里插入图片描述
  4. 包含头文件。在useStaticApp.cpp中包含demoStaticLib.h头文件。
    在这里插入图片描述
  5. 调用静态库。输入如下代码,右键useStaticApp项目 → \rightarrow 设为启动项目 → \rightarrow 生成 → \rightarrow 本地Windows调试器。
// useStaticApp.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>
#include <demoStaticLib.h>

int main()
{
    int nArr[] = { 1, 34, 6, 7, 8, 35, 67 };

    ArrayTool at;

    int nLen = sizeof(nArr) / sizeof(int);

    std::cout << "数组的最大元素" << at.Max(nArr, nLen) << std::endl;

    std::cout << "数组元素之和" << at.Sum(nArr, nLen) << std::endl;

    return 0;
}

  1. 结果如下,说明调用静态库成功!
    在这里插入图片描述

调试静态库

  1. 只能在主程序中调试静态库,可在主程序中设置断点,进而调试静态库。
    在这里插入图片描述
    在这里插入图片描述

参考资料

Visual Studio 2019-编写C++静态库
静态库-维基百科

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值