- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
例如。 arm-未知-linux-gnueabi现在,一旦操作系统即 Linux 被修复,C 库将被修复 (GLibc),因此调用约定和所遵循的 ABI 将被修复。第 4 个字段(即 ABI)的要求是什么?工具链是否可以使用与底层操作系统和 LIBC 使用的 ABI 不同的 ABI?在那种情况下,由所述工具链编译的库将如何在操作系统上运行?
最佳答案
这或多或少是历史原因的问题,又名 the holy wars about the sacred operating system's name .您所说的“工具链名称”实际上称为 Target Triplet ,顾名思义,它有三个 字段,不多也不少。在您的示例中,字段为:
arm
未知
linux-gnueabi
再举一个我遇到过的引用例子:i686-elf-gcc
,用于hobbyist operating system development :
i686-elf
未知
(隐式)none
(隐式;编译器实际上是一个 freestanding cross compiler ,用于 operating system kernels 的开发,因此它输出的代码不需要底层操作系统,因为输出代码是操作系统本身!)。这只是一个混淆问题,因为字段可能(并且 确实)使用 -
字符,它也用于分隔字段.在您的情况下,操作系统被认为是 linux-gnueabi
,也称为 GNU 操作系统,Linux 内核使用 Embedded ARM ABI . Linux 内核 has historically been one of the most portable pieces of software in the world ,因此它有望移植到其他 ARM ABI,尽管我只知道 EABI...
关于linux - 为什么工具链名称有单独的 OS 和 EABI 字段。?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32930740/
这里有两个问题: 将共享库移植到许多 Linux-or-Android-on-ARM 系统时,需要知道 GCC 交叉编译器支持的确切 EABI 版本以及默认的 EABI 版本。怎么做? 如何调查哪个
我正在使用 Launchpad Arm 编译器工具。具体来说, arm-none-eabi-g++ 和 arm-none-eabi-gcc 来自: (ARM 嵌入式处理器的 GNU 工具)5.2.1
我正在使用下面的 gcc 工具链。gcc 版本 5.4.1 20160919(发布)[ARM/embedded-5-branch 修订版 240496](用于 ARM 嵌入式处理器的 GNU 工具)
我正在尝试使用arm-none-eabi-gcc为STM32编译一个USB环回示例,但遇到了bool变量的编译器错误。错误为错误:“_Bool”之前应有“;”、标识符或“(”,违规行为 typedef
如果一个 Android 应用程序最初只支持 armeabi-v7a 和 x86,并且在未来它增加了对 arm64-v8a 的支持,设备(主要和次要 ABI 分别是 arm64-v8a 和 armea
我有一个复杂的开源库需要移植到安卓NDK。首先,我需要配置 (./Configure)。我明白:我必须使用/home/user/android-ndk/build/prebuilt/进行交叉编译lin
我们在Android开发中需要ARM EABI v7a系统镜像做什么?该特定图像的目的是什么? 最佳答案 如果您使用 NativeDK,没有该图像,模拟器将无法模拟 ARMv7 代码的执行(如多核指令
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
我在 Linux 机器上用 C 语言编写了一个 hello world 程序。编译是使用工具链 arm-none-eabi-gcc 完成的(稍后我将使用它进行交叉编译)。但我想在进一步推进之前在同一台
我有一个视频模块,我正在使用 arm-eabi-gcc 交叉编译器进行编译。我使用以下命令进行编译$ arm-eabi-gcc -O2 -DMODULE -D__KERNEL__ -W -Wall -
我正在为我的 Android 项目运行 arm-eabi-addr2line,我的命令是 /Applications/android-sdk-mac_86/android-ndk-r5b/toolch
我正在尝试在树莓派上安装用于汇编代码的工具链。我使用以下过程来安装包文件: $ wget http://www.cl.cam.ac.uk/freshers/raspberrypi/tutorials/
我正在通过 arm-unknown-linux-gnueabi 交叉编译我的代码,在编译期间可以看到很多以下警告 Unknown EABI object attribute 44 上面的警告是可以忽略
我正在 64 位 Linux 机器上用 C 编译一个 hello world 程序。我正在使用 GCC ARM 嵌入式工具链在配备 ATMEL AT91SAM9G20 处理器的 FOX G20 V 板
arm-eabi-gcc和arm-elf-gcc有什么区别? 他们可以为cortex-m3 arch编译相同的源代码吗? 最佳答案 arm-elf-gcc是支持旧版浮点加速器(FPA)和混合字节序浮点
我越看这个 PDF ( Application Binary Interface forthe ARM Architecture: The Base Standard ),我就越不明白它的意思。我还想
我正在尝试将“眨眼”示例上载到我的MKR1000。但是,我一直收到相同的错误: fork/exec /Users/username/Library/Arduino15/packages/arduino
我正在尝试在minGW中使用arm-none-eabi-gcc编译HELLOWORLD.c,命令如下: D:\code>arm-none-eabi-gcc hello.c -o hello -shar
我正在尝试为 STM32L030x6 MCU 制作固件。 我编写了一个简单的代码,似乎可以在具有 STM32L030x8 MCU 的评估板上运行。我所说的“似乎有效”是指我能够访问主 fct 并切换
我在库中有一个头文件,其中包括 inttypes.h (使用 PRIu8 等所需)。我将库头文件包含到我自己的应用程序文件中。 当我尝试在lpcxpresso(基于eclipse)中使用arm-non
我是一名优秀的程序员,十分优秀!