目录
1,使用vim创建文件和写代码
2,使用静态库
3,使用动态库
4,参考
1,使用vim创建文件和写代码
创建文件,按ctrl+alt+t,然后在终端操作,在终端输入vim 文件名.c就可以创建文件
例如,我输的就是
vim add.c
然后点击回车,输入一个i之后就是一输入代码了
我的文件的代码
add.c
#includefloat 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
#includefloat x2x(int a,int b){ float ans; ans=(float)b/a; return ans; }
sub1.h
#ifndef _SUB1_H #define _SUB1_H #includefloat 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



