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

云浮新兴哪有做网站的阿里云企业邮箱官网

云浮新兴哪有做网站的,阿里云企业邮箱官网,怎样把个人介绍放到百度,我要免费发布信息交叉编译的概念 1. 什么是交叉编译? 交叉编译是指在一个平台上生成可以在另一个平台上运行的可执行代码。例如,在Ubuntu Linux上编写代码,并编译生成可在Orange Pi Zero2上运行的可执行文件。这个过程是通过使用一个专门的交叉编译工具链来…

交叉编译的概念

1. 什么是交叉编译?

交叉编译是指在一个平台上生成可以在另一个平台上运行的可执行代码。例如,在Ubuntu Linux上编写代码,并编译生成可在Orange Pi Zero2上运行的可执行文件。这个过程是通过使用一个专门的交叉编译工具链来实现的。

编译与交叉编译的区别
  • 编译:在一个平台上生成该平台的可执行代码。
  • 交叉编译:在一个平台上生成另一个平台的可执行代码。

2. 为什么要进行交叉编译?

  • 目标平台的限制:目标平台可能没有足够的资源或不允许安装编译工具。例如,许多嵌入式系统和小型设备不具备直接编译代码的能力。
  • 目标平台尚未建立:在一些情况下,目标平台的操作系统或基础环境尚未完全建立,需要交叉编译来生成基础的启动代码和操作系统核心。

3. 宿主机(host)和目标机(target)

  • 宿主机:用于编辑和编译程序的平台,通常是基于X86架构的PC机。
  • 目标机:用户开发的平台,通常是非X86平台。宿主机上编译的可执行代码将在目标机上运行。

4. 交叉编译工具

工具链和环境设置

使用环境:

  • 电脑:Ubuntu 18.04
  • 开发板:Orange Pi Zero2
  • 交叉编译器aarch64-none-linux-gnu-
下载和安装
  1. 下载交叉编译工具链 下载地址:清华大学开源软件镜像站

    下载文件:

    gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu.tar.xz

  2. 上传并解压到虚拟机

    cp /home/ygl/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu.tar.xz /home/orangpiZero2 tar -xf gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu.tar.xz cd gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu/bin

设置环境变量
  1. 临时设置环境变量

    export PATH=$PATH:/home/ygl/orangePiZero2/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu/bin

  2. 永久设置环境变量 编辑.bashrc文件:

     
    vi /home/ygl/.bashrc

    在最后一行加入:

    export PATH=$PATH:/home/ygl/orangePiZero2/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu/bin

    使其生效:

    source /home/ygl/.bashrc

    测试交叉编译

编写简单的hello.c文件,并使用交叉编译器编译:

 
aarch64-none-linux-gnu-gcc hello.c -o test

将生成的test可执行文件上传到Orange Pi Zero2上测试运行。

带WiringPi库的交叉编译

1. 交叉编译WiringPi库
  1. 交叉编译库文件:首先需要交叉编译WiringPi库,以确保生成的库文件适合目标开发板使用。
  2. 指定头文件和库路径
    aarch64-none-linux-gnu-gcc your_code.c -I ./wiringOP-master/wiringPi -L. -lwiringPi -lwiringPiDev -lpthread -lm -lcrypt -lrt -g -o your_executable

2. 文件拷贝和软链接
  1. 拷贝库文件: 从开发板的/usr/local/lib目录下拷贝libwiringPi.so.2.46libwiringPiDev.so.2.46到上位机的/home/ygl/orangePiZero2目录下。
  2. 创建软链接
    ln -s libwiringPi.so.2.46 libwiringPi.so ln -s libwiringPiDev.so.2.46 libwiringPiDev.so

3. 编写交叉编译脚本

编写build.sh脚本,用于交叉编译带WiringPi库的文件:

aarch64-none-linux-gnu-gcc $1 -I ./wiringOP-master/wiringPi -L. -lwiringPi -lwiringPiDev -lpthread -lm -lcrypt -lrt -g -o $2
http://www.sczhlp.com/news/71055/

相关文章:

  • 天津网站优只做早餐的网站
  • 获取网站缩略图的asp代码关键词有哪些关联词
  • 博兴专业做网站阿里巴巴国际网站怎么做
  • 网站建设的优缺点南宁网站建设搭建
  • 有哪些网站做电子元器件比较好属于您自己的网站建设
  • 河南郑州建网站公司python抓取更新wordpress
  • jsp网站模版外贸皮包网站模板
  • 实现局部阴影下光伏系统最大功率点跟踪. 多极值条件下的MPPT
  • DEL 技术助力环肽发现!不同环连接子如何影响双靶点筛选结果?
  • 重磅发布!《军工行业文件安全交换解决方案白皮书》
  • 网站用什么图片格式好不花钱的网站建设
  • 企业建设网站的重要性乌兰察布网站建设
  • 网站改版费用平度建设网站
  • drupal 网站建设最超值的赣州网站建设
  • 兰州网站建设价格wordpress 相册 不显示
  • 资讯网站模版实体店怎么在网上推广
  • 网站被301网站做内容
  • 网站开发招聘年薪苏州网站制作工作室
  • 做公众号文章的网站网站开发费摊销多少年
  • 2025年中国开发者如何选择代码托管平台?深度解析Gitee的本土化突围之路
  • AI访销大脑之语音下单新“玩法”
  • 智能抠图擦除图像合成软件InPixio Photo Eraser 10.5.7924.29043 Win
  • Mysql全局优化与Mysql8新特性
  • 业务效率提升100%!跨网文件安全交换系统实现一键管控
  • 淮南家居网站建设怎么样北京 一图看懂 最新
  • 做任务兼职赚钱的网站有哪些wordpress打印功能
  • 电商设计参考网站吉林省建筑工程网
  • 网站建设餐饮电子商务网站建设如何
  • 禁止网站采集如何创建一个网址
  • 常见库汇总_linux -100个命令行和Python_100个库