栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Linux系统下利用库生成可执行文件

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Linux系统下利用库生成可执行文件

目录

1,使用vim创建文件和写代码

2,使用静态库

3,使用动态库

4,参考


1,使用vim创建文件和写代码

创建文件,按ctrl+alt+t,然后在终端操作,在终端输入vim 文件名.c就可以创建文件

 例如,我输的就是

vim add.c

然后点击回车,输入一个i之后就是一输入代码了

我的文件的代码

add.c

#include
float x2y(int a,int b){
    float ans;
    ans=a*b;
    return ans;
}

main1.c

#include"sub1.h"
int main(){
    int x=2,y=9;
    printf("%.2fn",x2x(x,y));
    printf("%.2fn",x2y(x,y));
    return 0;
}

sub1.c

#include
float x2x(int a,int b){
    float ans;
    ans=(float)b/a;
    return ans;
}

sub1.h

#ifndef _SUB1_H
#define _SUB1_H
#include
float x2x(int a,int b);
float x2y(int a,int b);
#endif

代码写完之后按esc退出,然后输入:wq

一定不要忘记了这个分号,这样他就会退出保存

2,使用静态库

想要使用静态库就需要先生成静态库,生成静态库的方法是先将.c文件转换为.o文件

使用命令

就可以将其转换为.o文件

gcc -c add.c sub1.c

然后就能看到文件中多了两个.o文件

然后再生成库

ar crv libjingtai.a add.o sub1.o

然后再去文件夹中可以看到多了一个

 

 这个文件

然后生成库的可执行文件,

gcc main1.c libjingtai.a -o jingtai

生成之后输入./jingtai就可以执行了

执行结果如下

3,使用动态库

和静态库原理差不多,都是需要.o文件,只是命令不同和使用方式不同,下面是生成的命令

gcc -shared -fPIC -o libdongtai.so add.o sub1.o

 可以看到已经生成了一个文件

运行方法与今天可以一样,改一下名字就可以了,但是由于连接的时候用的是当前目录的动态链接库,但运行时是到/usr/lib 找文件,所以需要把动态链接库移进去,然后再执行

移动代码

sudo mv libdongtai.so /usr/lib

 然后虚拟机密码就行了

这时就已经生成了可执行文件

这时输入./dongtai就可以运行了

4,参考

https://blog.csdn.net/junseven164/article/details/120606748?spm=1001.2014.3001.5501

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/309136.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号