知识拓展3

一、功能最强大文本编辑器-----vim
命令行模式:
n yy:复制第n行
p:粘贴
n dd:删除第n行
u:恢复
插入模式(i/a)
底行模式(shift+:)w:保存q:退出 wq!:强制保存退出
如何配置vim?
vim /etc/vim/vimrc
常用配置:
#开启语法高亮 syntax on
#显示行号 set nu
#使用颜色配置 color delek
#设置鼠标模式 set mouse=a
#设置tab距离 set tabstop=4 set shiftwidth=4
#自动对齐 set autoindent set smartindent
#高亮搜索结果 set hlsearch

二、交叉编译
源文件到可执行文件需要经历哪几个步骤?
预处理、编译、汇编、链接
汇编特点:每款处理器都有自己的汇编,最终可执行文件是由对应的CPU汇编代码生成
举例:gcc hello.c得到a.out
a. out可在电脑(PC: x86)执行---->可以在Linux手机(ARM处理器)上执行吗?
不能执行,电脑上的机器码手机识别不了,x86生成的代码ARM识别不了
什么是交叉编译器?
①交叉编译:在当前CPU平台下编译出在其他CPU平台下可执行的代码
系统移植:PC端(电脑—宿主机)【内核源码】-----(交叉编译)---->开发板、手机(目标机):②在宿主机上编译出可以在目标机上运行的代码
为什么要交叉编译器?
不同的处理器有不同的汇编,不同的汇编生成的可执行文件只能被当前的CPU执行。

三、C语言<>和""的区别:搜索路径不同
<>搜索路径:系统的头文件目录(/usr/include)

add.h在当前目录下,不在系统的头文件目录,所以编译时找不到。
在这里插入图片描述
“”搜索路径:先在当前目录查找,找不到再到系统的头文件目录查找

当头文件既不在系统下也不再当前目录下时
改法:①在调用add.h时加上路径:#include “yangweiran/add.h"
在这里插入图片描述
②gcc提供动态添加路径:
gcc hello.c add.c -Iyangweiran
-I:指定头文件第三方搜索路径

四、制作静态库
1.将需要保存的函数所在的文件编译生成目标文件gcc -c add.c生成目标文件add.o
2.静态库的制作工具:ar
ar rcs(不存在就创建,存在就更新)库名 目标文件名 ar rcs libadd.a add.o
(cp libadd.a /lib或者/usr/lib----->将库文件拷贝到库文件存放路径下)
3.使用 gcc 源文件 -l库名 -L库存放路径 gcc main.c -ladd -L.在这里插入图片描述
五、制作动态库
1、将需要保存的函数所在的文件编译生成目标文件gcc -c add.c生成目标文件add.o
2、动态库的制作工具:gcc -shared -fPIC
gcc -shared -fPIC 源文件 -o libcal.so
gcc -shared -fPIC sub.c add.c -o libcal.so
使用:cp libcal.so /uer/lib
gcc main.c -lcal
在这里插入图片描述
如果不拷贝到库路径下的话,就需要写路径:
gcc main.c ./libcal.so
在这里插入图片描述
若不拷贝路径,使用-L写库路径(像静态库一样)无法实现
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值