我的编程空间,编程开发者的网络收藏夹
学习永远不晚

嵌入式linux开发工具怎么用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

嵌入式linux开发工具怎么用

今天小编给大家分享一下嵌入式linux开发工具怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

嵌入式linux开发工具有:1、vim工具,vim是从vi发展出来的一个文本编辑器,有代码补全,编译及错误跳转等方便编程的功能;2、gcc编译器,是由GNU开发的编程语言编译器;3、工程管理器make,make是linux中的工程自动编译管理器等。

嵌入式Linux开发工具

vim的使用

1、文本编辑器:vim +vscode:学会使用并配置vim、安装及使用插件+远程链接vscode

2、编译器gcc:常用编译选项,静态库和动态库的制作和使用

3、调试器gdb:断点调试、查看内存、调试内存错误

4、工程管理器make:编写Makfile,多目录的Makefile 编写

5、shell编程(C语言之后)

6、git版本管理工具(线上:C语言)

7、Cmake(项目)

8、内存检测工具(线上:C语言)

vi/vim/gvim:文本编辑器 gedit emac(脱离鼠标)

  • 适用场景:单文件编辑;vim+插件(高度定制)>IDE

  • vim模式:命令行模式(初次进入,按a,i)、底行模式、插入模式(esc切换为命令行)wq保存退出

  • vim配置(vimc):

修改/etc/vim/vimc文件(行号,缩进风格、鼠标支持)

vim /etc/vim/vimrc

安装插件

  • vim命令的使用:

命令行: yy复制 p粘贴 dd删除 u恢复上一行

底行:查找 /str ?str

替换: 行号或者 %s/old/new/gc

编辑多个文件:vim文件1 文件2 文件3.。

跳转: n 文件名

文件保存 w r

sp+文件名 多文件编写

gcc编译器

<> 和“”区别:搜索路径不同:前者在系统头文件目录《/usr/include》搜索,若没有,就报错

后者在当前目录查找,若没有,再到系统头文件目录查找,若没有,就报错

规范:<>包含系统头文件 “”包含自定义头文件

#if 0 //注释 //#if 1//取消注释
#endif

不同的处理器有不同的汇编

系统内的所有头文件都在 vim/user/include/头文件

  • gcc概述:GNU计划提供的编译器(Unix cc编译器 )(编译工具链 g++ ld ldfd)–>(交叉编译工具链)

  • 什么是交叉编译?.c->.s->.o->elf

在宿主机下编译出在目标机下运行的代码的过程

在当前CPU平台下编译出在其它CPU平台运行的代码的过程

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

  • 编译选项

-o(可执行重命名:elf格式?)

-E(编译器只进行预处理)

-I:指定头文件编译的第三方路径

-S:进行编译阶段

-c:进行到汇编阶段

-O1 -O2 -O3(编译优化):百度查分别做了什么

-w(关警告) -Wall(开警告) :开关警告信息

库文件

  • 编译器gcc(静态库的动态库的制作和使用)

  • 调试器gdb(常用命名,调用内存错误)

  • 工程管理器make(makefile编写,多目录的Makefile的编写)

extern:该函数在其它文件已经定义

库函数:printf scanf strcpy strcat(保存在库文件)

库文件:保存函数和变量,里面的函数和变量只能使用,但是看不到其实现

库文件分类:静态库(.a) 和动态库(.so)

静态库(.a):保存的函数和变量,在编译阶段加载到可执行文件中

动态库(.so):保存的函数和变量,在执行阶段加载到执行文件中

使用静态库和动态库的区别(可执行文件的区别:)

  • 使用静态库编译出来的执行文件>使用动态库编译出来的可执行文件大小 --影响内存的开销

  • 使用静态库编译出来的执行文件执行速度>使用动态库编译出来的可执行文件执行速度

  • 使用静态库编译出来的执行文件升级<使用动态库编译出来的可执行文件升级

  • 使用静态库编译出来的执行文件程序部署>使用动态库编译出来的可执行文件程序部署

库文件的存放路径:

系统运行所需要的库文件:/lib

第三方软件和工具运行所需要的库:/usr/lib

编译时,编译器会自动到这两个目录里找所需要链接的库文件

制作静态库:

  • 将目标源文件编译成目标文件:gcc -c 目标源文件(可以多个)(gcc -c add.c)

  • 使用ar工具制作静态: ar -rcs(库不存在就创建,存在就更新)所要生成的库文件的名字(lib+库名+后缀.a)目标文件

例:ar -rcs libadd.a add.o

使用静态库:

-l:指定加载哪个静态库 -l库名

-L:指定加载的库文件的存放路径

gcc 源文件 -l库名 -L库存放的路径

例:gcc demo.c -ladd -L./libls

工程管理器make

  • 什么是工程?

多个源文件+其他文件(图片+头文件+脚本文件)

  • 工程管理器的作业:编译多个源文件

gcc +所有源文件 -o 可执行文件 —>自动编译

  • make依赖于Makefile文件;

  • Makefile文件是一种脚本文件(批处理),存在相关语法

  • Makefile语法:

三要素:目标、依赖、命令

格式:

目标:依赖

tab 命令

目标:最终生成的文件

依赖:生成目标时所需要的文件

命令:生成目标时,需要执行的命令

执行顺序:

make:默认从第一个目标体执行

make+ 目标体:从对应的目标体执行

如果目标体后面依赖的文件是一个目标的话,先执行依赖对应的目标,再执行目标体的命令

可以建makefile或者Makefile make -f Makefile -f指定执行那个Makefile

Makefile:

注释: #

目标可以用$@代替

嵌入式linux开发工具怎么用

嵌入式linux开发工具怎么用

嵌入式linux开发工具怎么用

嵌入式linux开发工具怎么用

嵌入式linux开发工具怎么用

多级目录下的Makefile:

  • 顶层Makefile:总控Makefile

  • 子目录Makefile:功能Makefile

  • scripts目录Makefile:头文件Makefile

总控Makefile:进入各个功能子目录下执行make命令,将各个子目录下的.o文件链接成可执行文件

功能Makefile:将当前目录下的.c文件编译生成.o文件

头文件Makefile:定义一些变量

以上就是“嵌入式linux开发工具怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网服务器栏目。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

嵌入式linux开发工具怎么用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

嵌入式linux开发工具怎么用

今天小编给大家分享一下嵌入式linux开发工具怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
2023-03-19

怎么解析linux嵌入式开发

怎么解析linux嵌入式开发,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。很多学习嵌入式的人来说,都会学习嵌入式linux开发,在学习的过程中,总会有很多难题,
2023-06-06

怎样实现linux嵌入式开发

今天给大家介绍一下怎样实现linux嵌入式开发。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。对于嵌入式开发的流程其实是很简单的,但是里面是有很多小东西需要你注
2023-06-28

初学者怎么学习Linux嵌入式开发

本篇内容主要讲解“初学者怎么学习Linux嵌入式开发”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“初学者怎么学习Linux嵌入式开发”吧!第一阶段:嵌入式硬件基础以及裸机程序开发1.知识点:
2023-06-28

Linux嵌入式进行python应用开发的方法是什么

本篇内容介绍了“Linux嵌入式进行python应用开发的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!本文所演示的平台来自于To
2023-06-28

Java开发工具Maven怎么用

这篇文章给大家分享的是有关Java开发工具Maven怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Maven如果作为一个Java程序员,那么在日常的开发过程中,maven是很常见的项目构建工具。maven可
2023-06-15

electron开发构建工具怎么用

今天小编给大家分享一下electron开发构建工具怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。前言得益于 Vite
2023-06-29

C#开发工具SharpDevelop怎么使用

使用SharpDevelop进行C#开发的步骤如下:1. 安装SharpDevelop:从官方网站(https://www.icsharpcode.net/OpenSource/SD/Download/)下载并安装SharpDevelop。
2023-09-29

敏捷开发工具Leangoo 怎么用

这篇文章的内容主要围绕敏捷开发工具Leangoo 怎么用进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!为什么选择 Leangoo?很简单,因为它够简
2023-06-05

怎么用C++语言做Linux开发工具粘合剂

这篇文章主要讲解了“怎么用C++语言做Linux开发工具粘合剂”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用C++语言做Linux开发工具粘合剂”吧!我想通过“粘合剂”这个词来表达将多
2023-06-16

jsp用什么开发工具

JSP(JavaServer Pages)可以使用多种开发工具进行开发,以下是一些常用的工具:1. Eclipse:Eclipse 是一个流行的 Java IDE,提供了强大的 JSP 开发功能,包括代码编辑、自动补全、调试等功能。可以通过
2023-08-28

用 Golang 优化您的嵌入式系统开发

使用 go 优化嵌入式系统开发,可降低内存占用、提高性能和支持跨平台。优化技巧包括:使用 unsafe 包避免内存分配;使用 sync.pool 复用对象减少分配;使用缓冲通道减少同步开销;使用 go 协程提高并发性。用 Go 优化您的嵌入
用 Golang 优化您的嵌入式系统开发
2024-04-08

Linux内核开发工具介绍是怎么样的

本篇文章给大家分享的是有关Linux内核开发工具介绍是怎么样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。众所周知,Linux内核是使用make命令来配置并编译的,那必然少不
2023-06-16

Linux 后台开发常用调试工具是什么

本篇文章给大家分享的是有关Linux 后台开发常用调试工具是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Linux入门编译阶段nm 获取二进制文件包含的符
2023-06-28

Linux常用的C语言开发工具是什么

这篇文章主要介绍“Linux常用的C语言开发工具是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Linux常用的C语言开发工具是什么”文章能帮助大家解决问题。linux下的C语言开发(makef
2023-06-28

编程热搜

目录