系统移植-交叉编译工具链

不同架构的机器码 与 汇编语言 都不可移植, 且二者一一对应

c语言中三种成分:

1.分号结尾的叫做语句   语句可以让CPU执行,可以进行预处理,编译等生成机器码

2.#开头的为预处理指令 不带分号  CPU无法执行

3.注释,CPU不执行

1.C语言执行的四个步骤


a.预处理:进行宏定义的替换,例如#define等,删除注释,头文件的展开,例如#include,预处理后的文件为.i文件;
b.编译:处理过的C语言生成汇编语言,生成.s文件
c.汇编:将汇编文件生成二进制机器码,生成.o文件
d.链接:调用库,库为编译好的二进制文件,库文件是区分架构的

2.区分elf文件和bin文件

exe为Windows系统下可执行文件

elf为Linux系统下可执行文件,为二进制文件

elf运行在Linux系统之上的可执行文件,需要操作系统

bin文件是运行在CPU执行,只包含汇编生成的机器码以及全局变量对应的机器码

,不包含其他任何系统信息。

data和bss段可分配全局变量的空间,局部变量只有程序运行起来的时候在栈上分配空间。 

 

3..简述交叉编译工具链中strip及objdump工具的主要用途是什么?

strip删除符号表中的符号,减小elf文件的大小,但不影响程序的运行
  objdump显示文件的信息

objcopy可以将elf文件生成bin文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/208346.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【bug 回顾】上传图片超时

测试 bug 问题分析 - 上传图片超时 最近在测试上遇到一个莫名奇妙的问题,最后也没有得到具体是哪块的原因,看各位大佬有没有思路?? 一 、背景 现在我们有三台服务器,用来布两套环境。其中另外一台服务器3配置的 tom…

云计算实验如何结合AI来提高效率!

随着AI助手的流行,我们现在无论是学习还是工作都会带着一个他/她,如何让AI助手提高我们的工作效率是我们需要进化的方向。下面结合“云计算实验”来分享一下如何让AI帮助我们学得更快学得更好。 一、学习某个软件或复杂命令 比如在学习RockyLinux9.2中…

【追求卓越09】算法--散列表(哈希表)

引导 通过前面几个章节的学习(二分查找,跳表),我们发现想要快速查找某一个元素,首先需要将所有元素进行排序,再利用二分法思想进行查找,复杂度是O(logn)。有没有更快的查找方式呢? 本…

自动解决IP冲突的问题 利用批处理更改末位IP循环+1直到网络畅通为止 解放双手 事半功倍

好久没出来写点什么了,难道今天有点时间,顺便把这两天碰到的问题出个解决方法吧。 这几天去客户那儿解决网络问题,因为客户的网络是固定的静态IP,因为没做MAC绑定,IP固定在本地电脑上,只要上不了网&#xf…

探索实人认证API:保障在线交互安全的关键一步

前言 在数字化时代,随着人们生活的日益数字化,各种在线服务的普及,安全性成为用户体验的至关重要的一环。特别是在金融、电商、社交等领域,确保用户身份的真实性显得尤为重要。而实人认证API作为一种先进的身份验证技术&#xff…

【JavaEE初阶】认识线程、创建线程

1. 认识线程(Thread) 1.1 概念 1) 线程是什么 一个线程就是一个 "执行流". 每个线程之间都可以按照顺序执行自己的代码. 多个线程之间 "同时" 执行着多份代码. 举例: 还是回到我们之前的银⾏的例⼦中。之前我们主要描…

Jina AI 的 8K 向量模型上线 AWS Marketplace,支持本地部署!

在当前多模态 AI 和大模型技术风头正劲的背景下,Jina AI 始终领跑于创新前沿,技术领先。2023 年 10 月 30 日,Jina AI 隆重推出 jina-embeddings-v2,这是全球首款支持 8192 输入长度的开源向量大模型,其性能媲美 OpenA…

windows搭建gitlab教程

1.安装gitlab 说明:由于公司都是windows服务器,这里安装以windows为例,先安装一个虚拟机,然后安装一个docker(前提条件) 1.1搜索镜像 docker search gitlab #搜索所有的docker search gitlab-ce-zh #搜索…

深度学习 loss 是nan的可能原因

1 loss 损失值非常大,超过了浮点数的范围,所以表示为overflow 状态下的男。 解决办法: 减小学习率,观察loss值是不是还是nan 在将数据输入模型前,进行恰当的归一化 缩放 2 loss 的计算中存在除以0, log(0…

【libGDX】使用Mesh绘制圆形

1 前言 使用Mesh绘制三角形 中介绍了绘制三角形的方法,使用Mesh绘制矩形 中介绍了绘制矩形的方法,本文将介绍绘制圆形的方法。 libGDX 以点、线段、三角形为图元,没有提供绘制圆形的接口。要绘制圆形边框,必须通过割圆法逼近圆形&…

外部中断为什么会误触发?

今天在写外部中断的程序的时候,发现中断特别容易受到干扰,我把手放在对应的中断引脚上,中断就一直触发,没有停过。经过一天的学习,找到了几个解决方法,所以写了这篇笔记。如果你的中断也时不时会误触发&…

【Docker】从零开始:6.配置镜像加速器

【Docker】从零开始:5.配置镜像加速器 什么是镜像加速器?为什么要配置docker镜像加速器?常见的Docker镜像加速器有哪些?如何申请Docker镜像加速器如何配置Docker镜像加速器 什么是镜像加速器? 镜像加速器是一个位于Docker Hub之…