首页 > 系统相关 >Linux交叉编译

Linux交叉编译

时间:2023-12-02 16:56:25浏览次数:43  
标签:架构 X86 交叉 hello 编译 Linux 可执行程序

  • 什么是交叉编译?
  • 为什么要有交叉编译?
  • 交叉编译是为了解决什么样子的问题?

定义:

  在一个平台编译生成的代码在另外一个平台上面执行,这个过程称之为交叉编译。

  众所周知,CPU的架构主要分为X86架构、ARM架构、MIPS架构、RISC-V架构。假如说,在Linux X86_64平台下面编译出来的程序(可执行程序)放到ARM平台的机器上去执行,显然是行不通的。此时,就引入了交叉编译的概念。

为什么要有交叉编译,它主要解决了哪一些问题?

   经常工作中在VMWare虚拟机下面的Ubuntu里面去编译代码生成可执行程序。假如说,gcc hello.c -o  hello生成了一个名字为hello的可执行程序。使用file命令查看一下这个文件属性如下图,它是x86_64位的。

  为了更直观的展现出来为什么引入了交叉编译的概念,画一个图来辅助说明一下。

  平日里的Windows电脑属于X86系统,一般开发程序都在Windows桌面的VMWare虚拟机的Ubuntu工具利用gcc工具编译代码生成可执行程序,比方说hello程序。这个hello程序通过串口线,利用mount命令通过nfs服务器讲PC电脑和开发板这2者关联起来(可以假象为一个连通器,将PC和ARM开发板串联起来,实现了资源文件共享)。

 

标签:架构,X86,交叉,hello,编译,Linux,可执行程序
From: https://www.cnblogs.com/liubenchaoblogs/p/17871601.html

相关文章

  • 在aliyun linux上npm install失败
    今天在ESC上使用npm进行安装,出现以下错误:npmERR!codeETIMEDOUTnpmERR!errnoETIMEDOUTnpmERR!networkrequesttohttps://registry.npmjs.org/pm2failed,reason:npmERR!networkThisisaproblemrelatedtonetworkconnectivity.npmERR!networkInmostc......
  • Linux虚拟机如何配置网络之Xshell远程连接
    一、下载远程连接工具Xshell二、使用Xshell远程连接虚拟机1、查看虚拟机ip命令:ipaddr2、打开Xshell软件,点击新建会话   连接成功3、检查网络状态,开启虚拟机输入命令   pingwww.baidu.com ......
  • vscode远程连接linux
    参考:https://zhuanlan.zhihu.com/p/667236864?utm_id=0#一、安装过程1、安装插件remote-ssh2、点击远程资源管理器、新建远程远程资源管理器:RemoteExplorer,左侧extensions下一个像电脑一样的新建远程:在ssh栏右侧加号点击3、在窗口上方弹出的命令框中输入:sshname@ip,name是......
  • Linux学习笔记
    linux12345真实机中安装CentOS(一)真实机中安装CentOS(二)虚拟机VirtualBox安装CentOS8,并配置网络VirtualBox中复制多个服务器并配置不同的ipUbuntu入门CentOS_ServerwithGUI入门Linux分区Linux学习技巧常用命令:复制、剪切、分页、软链接常用命令:文件检......
  • Linux服务器禁用密码登录
    前言以前没太研究仔细过SSH,会用就了不起了。最近太闲了,然后一直在研究些杂七杂八的东西,发现自己知道的实在太少了吧(气鼓鼓)还是要继续努力学习啊!开始今天的正题:禁用密码登录。为什么要禁用密码登录?避免别人破译你的服务器密码进行登录(巴拉巴拉一大堆理由,好吧!其实就搞着好玩的,然后顺......
  • Linux 下使用命令将图片反色
    #单张图片反色convert-negateimage.pngimage_ne.png#单张图片反色(替换)convert-negateimage.pngimage.png#单张图片反色,修复格式不兼容convertimage.pngimage.png&&convert-negateimage.pngimage_ne.png#单张图片反色,修复格式不兼容(替换)convertimage.p......
  • linux中redis的安装和设置开启自动启动
    一、安装redis第一步:下载redis安装包wgethttp://download.redis.io/releases/redis-4.0.6.tar.gz复制代码[root@iZwz991stxdwj560bfmadtZlocal]#wgethttp://download.redis.io/releases/redis-4.0.6.tar.gz第二步:解压压缩包tar-zxvfredis-4.0.6.tar.gz[root@iZwz991stxd......
  • Linux 下使用 Wine 安装 OrCAD16
    本文演示的是openSUSE,其他发行版操作类似安装Wine官方下载页面sudozypperrefsudozypperinwinewinetricks下载OrCADOrCADCapture绿色版带元件库安装OrCAD创建安装容器WINEARCH=win32WINEPREFIX=~/wine/OrCADwinetricksvcrun2005将压缩包复制到~/win......
  • linux11.29课堂随笔
    第九章文件查找、打包压缩及解压一、文件查找1.echo命令可以查看PATH的值 echo$PATH2.locate命令可以让用户快速查找到所需要的文件或目录,它不搜索全部信息,而是搜索数据库3.find命令搜索速度较慢,并不会索引目录,而是对整个目录进行遍历,会占用很多资源find命令可以根据文件......
  • Linux服务器SSH免密登录配置记录
    前言最近又得到一台新服务器,开心!趁着没有部署项目,使劲造,哈哈哈哈~本文的服务器配置除了是出于安全性相关考虑,还有主要是密码又长又复杂,有些连接工具还不能复制粘贴,手输不对(痛苦面具)所以为了高效快速的投入工作,赶紧把免密登录(密钥)搞起来吧。配置免密登录步骤首先需要在本地计算机上......