当前位置: 首页 > news >正文

许昌网站开发网站根目录 设置

许昌网站开发,网站根目录 设置,怎样做php网站,上海新闻综合频道今天1.交叉编译是什么,为什么要交叉编译 编译:在一个平台上生成在该平台上的可执行代码交叉编译:在一个平台上生成在另一个平台上的可执行代码交叉编译的例子:如51单片机的可执行代码(hex文件)是在集成环境kei…

1.交叉编译是什么,为什么要交叉编译

  • 编译:在一个平台上生成在该平台上的可执行代码
  • 交叉编译:在一个平台上生成在另一个平台上的可执行代码
  • 交叉编译的例子:如51单片机的可执行代码(hex文件)是在集成环境keil上面编译完成的,我们只需要将编译好的可执行代码下载到51单片机上即可运行
  • 要使用交叉编译的原因:
    (1)目的的平台上的资源贫乏,无法运行或安装我们所需的编译器
    (2)有时因为目的平台还没有建立,连操作系统都没有,根本谈不上运行什么编译器
    (3)平台的运行至少需要的两样东西:bootloader(启动引导代码)和操作系统核心,这两样东西也是代码,同样需要进行编译为可执行代码才可运行,而此时原平台根本不支持编译,同样需要在其他平台上编译好可执行代码

2.交叉编译中的基础知识

  • 宿主机(host) :编辑和编译程序的平台,一般是基于X86的PC机,通常也被称为主机。
  • 目标机(target):用户开发的系统,通常都是非X86平台。host编译得到的可执行代码在target上运行。
  • 交叉编译需要用到的工具:交叉编译工具链

3.交叉编译工具链

  • arm32位:百度网盘链接:https://pan.baidu.com/s/1tw1SYXdJ2n0olry9SSc3gg
    提取码:xfjs
    这是要编译为arm32位的系统能运行的代码的交叉工具链接
  • arm64位:百度网盘链接:https://pan.baidu.com/s/14H-Xg31wVlidk_RwCLJrUg
    提取码:xfjs
    或者到这个链接:aarch64下载下面这个压缩包

gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.tar.xz

4.安装交叉编译工具链

  1. 将下载好的压缩包通过ftp文件传输软件传到ubuntu中去,我用的是filezilla软件,这个软件免费好用,直接网上下载即可
  2. 解压压缩包

tar -xvf gcc-linaro-5.5.0-2017.10-x86_64_aarch64-linux-gnu.tar.xz

得到如下文件夹
在这里插入图片描述

  1. 进入到交叉编译工具链的bin目录下

cd gcc-linaro-5.5.0-2017.10-x86_64_aarch64-linux-gnu/bin

在这里插入图片描述

然后查看交叉编译的工具版本看是否安装好

./aarch64-linux-gnu-gcc -v

在这里插入图片描述
出现上图所示的版本号后,表示我们此时的交叉编译工具是可以使用了的,但是因为没有配置环境变量,我们此时只能在这个文件夹的bin目录下进行使用,非常不方便,所以要配置环境变量方便使用

  1. 配置环境变量

首先使用
echo $PATH
查看自己的环境变量
将现有的环境变量复制下来

在这里插入图片描述

然后用
pwd
查看自己当前所在交叉编译工具链的bin目录的完整路径
将这个目录也复制下来,要将这个目录加入到环境变量中

在这里插入图片描述

最后回到回到工作目录,打开.bashrc这个隐藏文件
vi .bashrc

在文件的后面根据自己的交叉编译工具链bin目录的位置加入环境变量,

export PATH=/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/CLC/workspace/tools-master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin:/home/CLC/workspace/gcc-linaro-5.5.0-2017.10-x86_64_aarch64-linux-gnu/bin

在这里插入图片描述

接着输入
source /home/CLC/.bashrc
加载配置文件,马上生效配置。

这时在任意目录下输入

aarch64-linux-gnu-gcc -v

显示如下图所示,即表示交叉编译工具链安装完成了
在这里插入图片描述

5.交叉编译一个helloworld丢到树莓派上运行

  1. 编写一个test.c的文件
#include <stdio.h>int main()
{printf("hello world!\n");return 0;
}
  1. 交叉编译这个test.c文件

aarch64-linux-gnu-gcc test.c -o helloInArm64

在这里插入图片描述
此时如果在x86的平台上运行这个可执行文件就会报错
在这里插入图片描述
我们可以用

file helloInArm64

查看这个文件的属性
在这里插入图片描述
这里只显示了它是一个64位的可执行文件,但没有显示平台架构,我们将它这个可执行文件放到树莓派等相关的arm架构平台上他就会显示平台的架构

  1. 在树莓派上运行这个交叉编译后的文件
    先使用

file helloInArm64

查看文件属性
在这里插入图片描述
这时就会显示平台的架构了

然后直接运行
在这里插入图片描述
一个交叉编译的hellworld就运行成功了

一开始我安装的交叉编译工具是arm32位的,编译出来的可执行文件也是32位的,但我放到我64位的树莓派上也一样可以运行起来

http://www.yayakq.cn/news/959513/

相关文章:

  • 淘宝网站建设概要深圳东维亚建设公司
  • 东莞系统网站建设在境外做网站网站
  • 网站开发技术员wordpress怎么上传头像不显示
  • 网站建设计入什么科目怎么查询自己的商标
  • 网站建设与管理专业的行业发展做网站运营的女生多吗
  • 汕头网站建设设计公司展览展示设计公司排名
  • 杭州大江东建设局网站php初学者网站
  • jsp企业网站开发前期报告德阳装修公司
  • 设计师工作室网站互助平台网站建设
  • 北海做网站有哪家好建设局是干嘛的单位
  • 建设网站技术方案免费建网站中文域名
  • wordpress 用户私信功能seo优化一般包括哪些内容()。
  • 教育网站建设备案自定义内容网站
  • api网站模板企业网站为什么打不开
  • 集团网站建设服务平台做网站详细教程
  • 国税网站模板免费网站电视剧全免费的app
  • 记事本网站开发广州 网站开发 公司
  • 企石做网站公司网站推广是做什么
  • 同个网站可以做多个外链吗做网站建设公司赚钱吗
  • 宁夏建设主管部门网站企业网站功能需求文档
  • 网站推广在哪好外贸网站域名费怎么查询
  • 小学学校网站设计模板上海迪士尼乐园官网
  • 网站运营策划提案网络营销推广方案有哪些
  • 满足seo需求的网站东莞市手机网站建设品牌
  • 国外网站模版免费下载传统网站有没有建设必要
  • 网站编辑转做新媒体运营网站换模板要怎么做
  • 科普网站栏目建设方案策划网站建设文章官网
  • html5炫酷的网站建设一个网站费用
  • 郑州网站建设知名公司百度一下你就知道官网首页
  • 安庆网站建设wordpress 过期时间