嵌入式Linux开发工具(vim和gcc)

本文介绍了Vim编辑器的基本操作,包括命令行模式的复制、粘贴、删除和恢复,以及底行模式的查找和替换。同时,讲解了如何编辑多个文件和跳转,以及文件保存的方法。还深入探讨了GCC编译器的工作原理,包括预处理、编译、汇编和链接的步骤,并详细阐述了交叉编译的概念。此外,提到了常见的编译选项,如-o用于指定可执行文件名,-E、-S和-c分别对应预处理、编译和汇编阶段。文章还讨论了ELF文件格式的特点和优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

4、vim使用
命令行:yy复制 p粘贴 dd删除 u恢复上一行
底行模式:查找/str?str
替换:行号或者%s/old/new/gc %s/sum/result/g
编辑多个文件:vim文件1 文件2 文件3
跳转:n文件名

文件保存:w r
sp+名 多文件编写

原生态:vim gedit
优秀第三方编辑:subline notepad++ vscode
IDE:QtCreater vs2019;

gcc常用编译选型

编译器gcc

1 gcc概述:GUN计划提供的编译器(unix cc编译器)编译工具链(g++ ld ldfd… )(交叉编译工具链)

2 交叉编译
a\源文件到可执行文件经历哪几个步骤?预处理,编译,汇编,链接
b\预处理任务:头文件展开(#include)、宏替换(#define)、条件编译(#ifdef) (处理#开头的代码)
c\编译的任务:检查语法,转成汇编,生成汇编文件(.s/.S)
d\汇编的任务:编译汇编文件,生成目标文件(.o)
e\链接的任务:链接所有的目标文件,生成符号表,生成可执行文件

pc端 x86处理器->可执行文件 宿主机
|
|交叉编译(要使用交叉编译器):在宿主机下编译出在目标机下运行的代码的过程;
|在当前CPU平台下编译出在其他CPU平台运行的代码的过程
|
p50(手机端) arm处理器 arm汇编 目标机

3、编译选项
-o:可执行重命名:elf格式

ELF:可执行连接文件格式。

ELF文件优点

  1. 支持不同平台上的交叉编译和交叉链接,可移植性性强(与Linux下其他可执行文件(a.out,cof)相比)

  2. 在执行时支持动态链接共享库

ELF文件类型

  1. 可重定位文件:用户和其他目标文件一起创建可执行文件或者共享目标文件,例如lib*.a文件
    2.可执行文件:用于生成进程映像,载入内存执行,例如编译好的可执行文件a.out。
    3.可执行文件:用于生成进程映像,载入内存执行,例如编译好的可执行文件a.out。

ELF文件特特点

1.平台相关: 在ELF 文件头中包含了足够的平台相关信息,如数据编码方式,平台位数,硬件平台e_machine等,这些平台相关信息可在编译由编译器决定。

2.PIC:.ELF可以生成一种特殊的代码——与位置无关的代码(position-independent code,PIC)。

3.强大的工具支持 :由于gnu有大量的工具支 持elf文件格式.随着gnu工具的功能的扩展.程序员对ELF文件的运用也越来越灵活。

-E(编译器只进行预处理) -I 指定头文件的第三方搜索路径
-S(进行编译阶段) -c 进行汇编阶段

#include<stdio.h>和#include"stdio.h"区别:搜索路径不同:<>搜索路径在系统的头文件目录搜索(/usr/include),若没有,则报错;“ ”现在当前目录查找,若没有,再到系统头文件目录查找,若没有,则报错。
规范:<>一般包含系统头文件,“ ”包含自定义头文件

-O1 -O2 -O3 编译优化
-w -Wall 开关警告信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值