博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux静态库与动态库的使用
阅读量:3958 次
发布时间:2019-05-24

本文共 1897 字,大约阅读时间需要 6 分钟。

一、Linux基本操作命令

1、用户切换:普通用户和管理员权限(su)

2、文件的操作
新建:vi、vim或touch
删除:rm
复制:cp、mv
编辑:vi或者vim编辑器、gedit
文件读写权限的修改:chmod
-rm-r-r-- 1 root root
r(4):读;w(2):写;x(1):可执行
3、目录的操作
新建:mkdir
删除:rmdir(删除空文件夹)、rm -r -f
复制:cp -r
切换:cd
4、网络配置
ifconfig eth0(网卡名称) + ip地址
ping :查看主机之间互通的情况
电脑——虚拟机——开发板之间联系
(配ip地址,要求:ip地址在一个网段内,而且ip地址不能有冲突)
5、压缩与解压
tar、gzip
6、交叉编译器
arm-linux-gcc 可以把.c程序编译成可执行程序,下载到开发板(arm架构)运行
开发板(目标机):处理器、存储器受限
电脑(宿主机):处理器处理能力强,存储大
二、静态库的创建与使用
首先创建unsgn_pow.c文件,包含unsgn_pow()函数的定义:

//创建文件[root@localhost ~]# cd /home[root@localhost home]# mkdir AiY[root@localhost home]# cd AiY[root@localhost AiY]# touch unsgn_pow.c

编写unsgn_pow.c文件的程序:

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文件,同unsgn_pow.c创建文件的步骤一样

编写pow_test.c文件:

#include
#include
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);}

接下来创建静态库

不过前提是先安装 gcc 编译器

//运行如下两行,安装完毕即可yum -y install gcc gcc-c++ out autoconf pcre pcre-devel make automakeyum -y install wget httpd-tools vim

使用归档工具ar将一些目标文件集中在一起

gcc -c unsgn_pow.car rcsv libpow.a unsgn_pow.o

下面编译主程序,将会链接到刚生成的静态库libpow.a

gcc -o pow_test pow_test.c -L. -lpow./pow_test 2 10

运行结果

2 ^ 10 = 1024

三、动态库的创建与使用

首先使用gcc的-fPIC选项为动态库构造一个目标文件

gcc -fPIC -Wall -c unsgn_pow.c

接下来,使用-shared选项和已创建的位置无关目标代码,生成一个动态库libpow.so

gcc -shared -o libpow.so unsgn_pow.o

编译主程序,链接刚生成的动态库

gcc -o pow_test pow_test.c -L. -lpow

最后运行程序,不过在运行程序之前,需要注册动态库,执行如下命令即可

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/cluster/.share/libsource /etc/profile

最后切换到创建库的那个文件夹

cd /home/AiY./pow_test 2 10

运行结果

2 ^ 10 = 1024

转载地址:http://ogxzi.baihongyu.com/

你可能感兴趣的文章
SQL 语句的解析过程
查看>>
Java类文件结构
查看>>
Java类文件结构
查看>>
使用注解生成代码
查看>>
使用注解生成代码
查看>>
使用注解生成代码
查看>>
奇妙的JavaScript函数
查看>>
奇妙的JavaScript函数
查看>>
奇妙的JavaScript函数
查看>>
题目:企业SQL面试复习与测试
查看>>
图片的三级缓存机制
查看>>
自定义标签库(Tag library)
查看>>
自定义标签库(Tag library)
查看>>
深入Java集合学习系列(一)
查看>>
深入Java集合学习系列(一)
查看>>
深入Java集合学习系列(二):
查看>>
图解Spring AOP
查看>>
性能调优之Weblogic调优
查看>>
性能调优之性能参数指标
查看>>
POJ3009---冰壶游戏(深搜剪枝+回溯)
查看>>