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

微信微网站平台seo薪酬如何

微信微网站平台,seo薪酬如何,常用个人网站,成都注册公司代办机构一、文章背景 疑惑 官方提供的SDK包的结构如下: hugohugo-virtual-machine:~$ tree -L 2 SDK SDK ├── environment-setup-aarch64-poky-linux ├── site-config-aarch64-poky-linux ├── sysroots │ ├── aarch64-poky-linux │ ├── aarch64-poky-li…

一、文章背景

疑惑

官方提供的SDK包的结构如下:
hugo@hugo-virtual-machine:~$ tree -L 2 SDK
SDK
├── environment-setup-aarch64-poky-linux
├── site-config-aarch64-poky-linux
├── sysroots
│ ├── aarch64-poky-linux
│ ├── aarch64-poky-linux.tar.gz
│ └── x86_64-pokysdk-linux
└── version-aarch64-poky-linux


这里的每个包是用来干嘛的?为什么SDK下的 sysroots有aarch64-poky-linux和x86_64-pokysdk-linux,这两个包分别是干嘛的,这个aarch64是什么意思?x86又是什么意思?这里的pokysdk是什么意思?为什么他们两个包下面会有都有aarch64-poky-linux-gcc:

hugo@hugo-virtual-machine:~/SDK/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux$ ls /home/hugo/SDK/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-g*
/home/hugo/SDK/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-g++
/home/hugo/SDK/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-gcc
/home/hugo/SDK/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-gcc-ar
/home/hugo/SDK/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-gcc-nm
/home/hugo/SDK/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-gcc-ranlib
/home/hugo/SDK/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-gcov
/home/hugo/SDK/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-gcov-dump
/home/hugo/SDK/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-gcov-tool
/home/hugo/SDK/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-gdb
/home/hugo/SDK/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-gdb-add-index
/home/hugo/SDK/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-gprof

hugo@hugo-virtual-machine:~/SDK/sysroots/aarch64-poky-linux/usr/bin$ ls /home/hugo/SDK/sysroots/aarch64-poky-linux/usr/bin/aarch64-poky-linux-g*
/home/hugo/SDK/sysroots/aarch64-poky-linux/usr/bin/aarch64-poky-linux-g++
/home/hugo/SDK/sysroots/aarch64-poky-linux/usr/bin/aarch64-poky-linux-gcc
/home/hugo/SDK/sysroots/aarch64-poky-linux/usr/bin/aarch64-poky-linux-gcc-ar
/home/hugo/SDK/sysroots/aarch64-poky-linux/usr/bin/aarch64-poky-linux-gcc-nm
/home/hugo/SDK/sysroots/aarch64-poky-linux/usr/bin/aarch64-poky-linux-gcc-ranlib
/home/hugo/SDK/sysroots/aarch64-poky-linux/usr/bin/aarch64-poky-linux-gprof


分析

对SDK的结构和各个目录的作用感到困惑,特别是sysroots下的aarch64-poky-linux和x86_64-pokysdk-linux这两个目录。还不明白为什么这两个目录下都有aarch64-poky-linux-gcc这样的工具链,以及aarch64和x86_64的区别,还有pokysdk的含义。

首先,我需要回忆一下嵌入式开发中SDK的常见结构。通常,SDK会包含交叉编译工具链、目标系统的头文件和库、以及一些配置脚本。SDK包里面的的environment-setup-aarch64-poky-linux应该是用来设置环境变量的脚本,比如PATH和交叉编译器的路径。site-config可能包含一些构建配置,version文件记录SDK的版本。

sysroots目录下通常会有两个部分:目标系统的根文件系统(target sysroot)和主机工具链的根文件系统(host sysroot)。aarch64-poky-linux可能是目标平台的sysroot,包含目标系统的头文件和库,而x86_64-pokysdk-linux是主机上的工具链,包含交叉编译器和其他构建工具。这里可能混淆的是,为什么在x86_64的目录下会有aarch64的工具链,这可能是因为交叉编译器本身是运行在x86主机上,但生成的是aarch64架构的代码。

接下来提到的aarch64和x86_64的区别?
aarch64是ARM的64位架构,而x86_64是Intel/AMD的64位架构。poky是Yocto项目使用的元数据集合,用来构建嵌入式Linux系统。pokysdk可能是指Yocto SDK的特定配置。

列出的目录中的工具链文件,比如aarch64-poky-linux-gcc,这些是交叉编译器,运行在x86主机上,但生成ARM架构的可执行文件。在目标sysroot中,可能有一些符号链接或工具链的副本,用于构建时引用目标系统的库。

解释每个目录的作用?
为什么会有两个sysroot,以及工具链的架构区别。用简单的比喻,比如交叉编译器就像翻译,把源代码从主机语言翻译成目标设备的语言。主机工具链是运行在开发机上的工具,而目标sysroot是目标设备需要的库和头文件。

还要注意用户可能混淆了主机架构和目标架构,需要明确区分。poky是Yocto的一部分,用于构建整个系统,所以SDK中的结构是为了支持交叉编译和系统构建。

总结来说,用户需要明白SDK的结构如何支持交叉编译,各个目录的作用,以及工具链的架构区别。需要避免技术术语过多,用日常例子帮助理解。


二、SDK 目录结构解析

1. 整体结构
SDK
├── environment-setup-aarch64-poky-linux  # 环境变量配置文件
├── site-config-aarch64-poky-linux        # 构建系统配置
├── sysroots                             # 目标系统和主机工具链的根目录
│   ├── aarch64-poky-linux               # 目标系统的根目录(ARM架构)
│   ├── aarch64-poky-linux.tar.gz        # 目标系统的压缩包
│   └── x86_64-pokysdk-linux             # 主机工具链的根目录(x86架构)
└── version-aarch64-poky-linux           # SDK版本信息

三、关键目录与文件的作用

1. environment-setup-aarch64-poky-linux
  • 用途:配置交叉编译环境变量。
  • 核心功能
    • 设置交叉编译器路径(aarch64-poky-linux-gcc)。
    • 定义目标系统的根目录(SDKTARGETSYSROOT)。
    • 配置编译选项(如 CFLAGSLDFLAGS)。
  • 为什么需要它
    告诉系统如何找到交叉编译器和目标系统的库/头文件,确保代码能正确编译为ARM架构的程序。

2. sysroots 目录
(1) aarch64-poky-linux
  • 用途目标系统的根目录(Target Sysroot)。
  • 包含内容
    • /usr/include:目标系统的头文件(如 stdio.hstring.h)。
    • /usr/lib:目标系统的库文件(如 libc.so)。
    • /usr/bin:目标系统的工具链符号链接(如 aarch64-poky-linux-gcc)。
  • 为什么需要它
    编译程序时,交叉编译器需要从这里获取目标系统的头文件和库文件。
(2) x86_64-pokysdk-linux
  • 用途主机工具链的根目录(Host Sysroot)。
  • 包含内容
    • /usr/bin:交叉编译器和其他工具(如 aarch64-poky-linux-gcc)。
    • /usr/lib:主机工具链的依赖库。
  • 为什么需要它
    这些工具链运行在x86主机上(如你的虚拟机),但生成的是ARM架构的程序。

四、关键概念解释

1. aarch64 vs x86_64
  • aarch64

    • 定义:ARM 64位架构,用于嵌入式设备(如你的NXP i.MX 8M Mini)。
    • 类比:相当于手机的“大脑”,负责执行代码。
  • x86_64

    • 定义:Intel/AMD的64位架构,用于PC或虚拟机。
    • 类比:相当于你的电脑的“大脑”,用来编译代码。
2. pokypokysdk
  • poky

    • 定义:Yocto项目的核心工具集,用于构建嵌入式Linux系统。
    • 作用:帮你生成操作系统镜像、工具链和软件包。
  • pokysdk

    • 定义:基于Yocto生成的SDK(Software Development Kit)。
    • 作用:提供开发所需的一切工具(编译器、库、头文件)。

3. 为什么两个目录下都有 aarch64-poky-linux-gcc
  • x86_64-pokysdk-linux 中的 aarch64-poky-linux-gcc

    • 本质:运行在x86主机上的交叉编译器,用于生成ARM架构的程序。
    • 路径示例
      /home/hugo/SDK/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-gcc
      
  • aarch64-poky-linux 中的 aarch64-poky-linux-gcc

    • 本质:符号链接或占位文件,仅为兼容性存在。
    • 路径示例
      /home/hugo/SDK/sysroots/aarch64-poky-linux/usr/bin/aarch64-poky-linux-gcc
      
    • 为什么需要它:某些构建工具(如 make)可能需要在目标系统路径下查找工具链。

五、通俗易懂的比喻

  1. 交叉编译器

    • 你是一个英语老师(x86主机),要教一个只会中文的学生(ARM设备)学英语。
    • 交叉编译器就是你的“翻译工具”,把英语教材(源代码)翻译成中文(ARM指令)。
  2. sysroots 目录

    • x86_64-pokysdk-linux:你的书房,里面有翻译工具(编译器)、参考书(主机库)。
    • aarch64-poky-linux:学生的书包,里面有中文课本(目标系统头文件/库)。

六、总结

  • SDK的作用:提供一套完整的工具,让你在x86电脑上开发ARM设备的软件。
  • 关键目录分工
    • x86_64-pokysdk-linux:存放工具链(编译器、链接器)。
    • aarch64-poky-linux:存放目标系统的资源(头文件、库)。
  • 为什么需要两个架构
    • x86_64:工具链需要运行在你的电脑上。
    • aarch64:编译出的程序需要运行在ARM设备上。
http://www.dtcms.com/wzjs/275471.html

相关文章:

  • 服务品牌策划方案360优化大师最新版下载
  • vs2013 网站开发百度推广app下载安卓版
  • 网站的关键词搜索怎么做开网店如何运营和推广
  • 微信群营销工具搜索引擎优化哪些方面
  • 产品推广策划方案怎么做搜索引擎网站优化和推广方案
  • 河源做网站优化网络推广网络营销软件
  • 珠海网站公司哪家好连云港seo优化
  • 给公司做网站需要华多少钱bt磁力bt天堂
  • 如何评价一个网站设计的好坏域名seo查询
  • 衡水移动网站建设报价免费建立个人网站凡科
  • 做网站网页需要什么邀请注册推广赚钱的app
  • 餐饮酒店网站怎么做中文域名注册官网
  • 南京建设网站要多少钱大一html网页制作作业
  • 枣庄建设委员会网站广告投放运营主要做什么
  • 运城网站建设价格seo推广网址
  • 健身餐的网站怎么做html网页制作动态效果
  • 网络营销推广计划书范文一点优化
  • 赣州市网站建设公司网站推广seo方法
  • 做网站cdn加速有什么用seo和sem的区别是什么?
  • php动态网站模板软件开发公司经营范围
  • 网站建设捌金手指下拉二五百度引擎入口
  • 网站做优化效果怎样正规接单赚佣金的app
  • 永久免费做网站app域名停靠
  • 推进网站建设百度广告投放
  • 苏州网站推广艾滋病多长时间能查出来
  • 金牌网站设计网站建设每日一则小新闻
  • 网站建设 启象科技免费建立个人网站申请
  • 做资源共享网站网络口碑营销
  • 网站开发与管理课程站长工具查询系统
  • 手机网站 布局企业课程培训