Windows用DEV C++使用(lib)静态库

2 篇文章 0 订阅
1 篇文章 0 订阅
文章介绍了两种在DEVC++中使用静态库的方法:一是将.h文件放入include目录,然后在项目中导入并链接.a文件;二是修改编译选项,通过-l标志指定库名,并添加库的路径。第一种方法适用于单个工程,第二种方法则会导致可执行文件增大可能影响性能。
摘要由CSDN通过智能技术生成


方法一:项目中使用静态库

1.首相先将.h文件放到DEV C++的include文件目录下:

在这里插入图片描述
2.接下来是调用刚刚的.h文件了,需要新建一个控制台程序,注意不是空项目了!切记!

在这里插入图片描述
命名什么的随意。

3.在控制台项目导入你的静态库:

在这里插入图片描述
先不要着急编译!会报错,因为还没有跟你的静态库链接呢。

4.链接你的静态库:

在这里插入图片描述
5.右键项目属性—>参数–>添加库或者对象

在这里插入图片描述
6.选择你刚才生成的.a文件:

在这里插入图片描述
最后一步编译运行看看吧:

在这里插入图片描述

方法二:修改编译选项使用静态库

1.首先将自己的库重命名,命名为“libxxx.a”,例如“libhello.a”。

在这里插入图片描述
2.新建一个源代码

在这里插入图片描述
3.打开“工具 -> 编译选项。”

在这里插入图片描述
4.找到“在连接器命令行加入以下命令”,在那个框里加入以下命令(如果框里已经有命令了,就在末尾加一个空格,再输入下面的命令):

-l你的库名(去掉开头的lib和结尾的.a)

举个例子:我的库名是libhello.a(见第1步),那么我应该加上命令:

-lhello

注意,以下3种写法都是错误的:

1.-llibhello.a
2.-llibhello
3.-lhello.a

再比如,你的库名是libtest.a,你应该加上:

-ltest

示例图(以我的库为例):

在这里插入图片描述
能不能在-l和库名之间加一个空格呢?当然可以!

5.还没完!找到“目录 -> 库”。

在这里插入图片描述
6.把你的库的路径添加进去。怎么添加?点击右下角的“浏览”按钮,找到库的路径,点“确定”。

在这里插入图片描述
7.点“添加”,再点“确定”,OK!

在这里插入图片描述
最后引入头文件,就可以使用库函数了!

在这里插入图片描述


总结

	第一种方法就是导入的库文件只会在当前这个工程中起作用域,但是也足够了(及其推荐);
	第二种方法其实在gcc编译运行的同时每次都加载全部库文件,就会导致可执行文件庞大
	多少会影响一些性能速度;
	第三种的话就是自己复制源码和头文件到自己所创建c文件或者cpp文件的当前目录下,
	通过#include引入;
Dev-C++环境中,你可以通过以下步骤计算一组数字的最大值、最小值以及中位数: 1. **最大值**: - 使用`std::max_element()`函数可以找到数组中的最大元素。首先,需要包含头文件`<algorithm>`,然后在循环中调用这个函数,例如: ```cpp #include <iostream> #include <algorithm> #include <vector> int main() { std::vector<int> numbers = {5, 8, 1, 9, 3}; // 假设这是你要找最大值的数组 auto max_num = *std::max_element(numbers.begin(), numbers.end()); std::cout << "最大值是: " << max_num << std::endl; return 0; } ``` 2. **最小值**: 同样,使用`std::min_element()`获取最小值,代码类似上面的`max_num`部分。 3. **中位数**: 要找到中位数,你需要对数组排序(`std::sort()`),然后根据数组大小确定中位数位置。如果数组长度是奇数,中间的那个元素就是中位数;如果是偶数,通常是中间两个元素的平均值。以下是示例: ```cpp #include <algorithm> #include <vector> #include <stdexcept> #include <string> double findMedian(std::vector<int>& nums) { std::sort(nums.begin(), nums.end()); int size = nums.size(); if (size % 2 == 0) return static_cast<double>(nums[size / 2 - 1] + nums[size / 2]) / 2; else return static_cast<double>(nums[size / 2]); } int main() { std::vector<int> numbers = {5, 8, 1, 9, 3}; std::cout << "中位数是: " << findMedian(numbers) << std::endl; return 0; } ``` 记得在主函数之前导入必要的,并确保数组已经初始化好。运行程序后,它会分别显示所给数字的最大值、最小值和中位数。如果你有具体的数字,只需替换`numbers`变量的内容即可。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿文佬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值