嵌入式Linux程序设计作业二

在linux操作系统下,实现静态库的调用

一、镜像文件的选择

之前采用的是ubuntu,但是个人感觉虽然ubuntu比centos轻量化了,但是阉割掉了很多东西,很多工具包都默认没有,需要自己去安装,但是这个安装的过程中又会出现很多问题,所以要是想一劳永逸,不如多费点内存安装个centos7算了,我都要快被ubuntu搞死了。下了centos7之后,嗯真香!
附上我的centos7镜像网盘目录,ubuntu也有。

CentOs7:
链接:https://pan.baidu.com/s/1zkfqDQeESUXl9mz0AOjvjQ
提取码:qets
复制这段内容后打开百度网盘手机App,操作更方便哦
UbunTu:
链接:https://pan.baidu.com/s/1e1qLjHDZJeYodLt24bTHDg
提取码:irvf
复制这段内容后打开百度网盘手机App,操作更方便哦

二、代码文件

创建两个.c文件,内容如下:

/*unsgn_pow.c:库程序*/
#include <stdio.h>
unsigned long long unsgn_pow(unsigned int x,unsigned int y)
{
	unsigned long long res = 1;
	if (y==0){
		res = 1;
	}else if (y -= 1){
		res =x;
	}else{
		res= x*unsgn_pow(x,y-1);
	}
	return res;
}

/*pow_test.c */
#include <stdio.h>
#include <stdlib.h>
int main(int argc,char **argv){
	unsigned int x,y;
	unsigned long long res;
	if((argc<3)||(sscanf(argv[1],"%u",&x)!= 1)||(sscanf(argv[2],"%u",&y)!=1)){
		printf("Usage: pow base	exponent\n");
		exit(1);
	}
	res=unsgn_pow(x,y);
	printf("%u^%u = %u\n", x,y,res);
	exit(0);
	return 0;
}

三、编译并运行

  1. cd Desktop #因为我两个.c文件都创建在桌面,所以先进入桌面文件夹
  2. ls #查看一下当前桌面是否存在这两个文件
  3. gcc -c unsgn_pow.c #编译函数文件
  4. ar -rcsv libpow.a unsgn_pow.o #生成静态函数库
  5. gcc -o pow_test pow_test.c -L. -lpow #编译main函数
  6. ./pow_test 2 10 #输入参数直接执行函数
  7. 最后出现结果即表示调用成功!
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

村头卖假发的小郑

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

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

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

打赏作者

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

抵扣说明:

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

余额充值