linux下不同arm 編譯器的異同
1、EABIarm-2008q3-39-arm-none-eabi
Sourcery G++ Lite 2008q3-39 All versions...
Sourcery G++ for ARM EABI is for use in bare-metal and/or RTOS environments.(適用於編譯裸機或RTOS環境上的應用,比如u-boot等);Run-Time Libraries:ARMv4 - Little-Endian, Soft-Float;ARMv4 Thumb -Little- Endian,
Soft-Float;ARMv6-M Thumb - Little-Endian, Soft-Float;ARMv7 Thumb-2 - Little-Endian, Soft-Float。
2、uClinux arm-2008q3-42-arm-uclinuxeabi
Sourcery G++ Lite 2008q3-42 All versions...
Sourcery G++ for ARM uClinux is for systems running the Linux kernel without using a memory-management unit (MMU). You can use Sourcery G++ to build both the uClinux kernel and uClinux applications.
)適用於編譯linux核心和應用程式,不帶MMU的CPU);Run-Time Libraries:ARMv4T - Little-Endian, Soft-Float;ARMv6-M Thumb - Little-Endian, Soft-Float;ARMv7 Thumb-2 - Little-Endian, Soft-Float。
3、GNU/Linux arm-2008q3-41-arm-none-linux-gnueabi
Sourcery G++ Lite 2008q3-41 All versions...
Sourcery G++ for ARM GNU/Linux is for use in developing for systems which run the Linux kernel. You can use Sourcery G++ to build both the Linux kernel and Linux applications.(適用於編譯linux核心和應用程式,帶MMU的CPU);Run-Time
Libraries:ARMv4T - Little-Endian, Soft-Float, GLIBC;ARMv5T - Little-Endian, Soft-Float, GLIBC;ARMv7-A Thumb-2 - Little-Endian, Soft-Float, GLIBC。
4、SymbianOS arm-2008q3-40-arm-none-symbianelf
Sourcery G++ Lite 2008q3-40 All versions...
適用於編譯Symbian應用程式;Run-Time Libraries:ARMv5 - Little-Endian, Soft-Float;ARMv5 - Little-Endian, VFP。
如果用一句話講清楚arm-linux-gcc和arm-elf-gcc的區別的話,如何來說呢?
arm-linux-gcc是針對arm + Linux的開發環境的,kernel使用的是linux,不是uclinux,arm是有硬體MMU的。
而arm-elf-gcc是針對no MMU arm + uclinux的開發環境,kernel使用的是uclinux,硬體是廉價的無MMU的arm晶片。
arm-linux-gcc倒是有點類似X86 PC環境下的linux開發。
arm-linux-eabi 和arm-none-eabi
arm-linux-eabi 用於編譯 armlinux 程式碼
arm-none-eabi 不指名作業系統,可以是linux, 也可以是vxworks等,arm-none-eabi 不包含 __linux__ 等特定巨集,所以往往編譯linux 核心的時候通不過。
相關文章
- 編譯器GCC與Clang的異同編譯GC
- ARM 之主流編譯器編譯
- linux(ubuntu)下的64位編譯器編譯32位程式LinuxUbuntu編譯
- Vault 不同版本的API的異同API
- 編譯arm平臺的ethtool編譯
- linux下的gcc編譯LinuxGC編譯
- 交叉編譯場景分析(arm-linux)--序編譯Linux
- jsoncpp linux平臺編譯和arm移植JSONLinux編譯
- Arm64架構下靜態編譯Nginx架構編譯Nginx
- A40i &T3 全原始碼編譯-ARM Linux核心在PC Linux的編譯方法原始碼編譯Linux
- Linux 下如何繞過編譯器優化Linux編譯優化
- Arm64架構下編譯便攜Python架構編譯Python
- [譯] 同中有異的 Webpack 與 RollupWeb
- linux核心Documentation/arm下的00-INDEX文件翻譯LinuxIndex
- 交叉編譯場景分析(arm-linux)(四)--編譯readline和ncurses編譯Linux
- Qt設定根據編譯器不同連結不同的lib庫QT編譯
- LINUX下編譯TriangleLinux編譯
- Linux下編譯安裝nginx1.8.1伺服器Linux編譯Nginx伺服器
- Linux下編譯安裝BOOSTLinux編譯
- 在pycharm中使用pip針對不同的編譯器新增包PyCharm編譯
- 你知道不同隨身碟在ARM+Linux下的讀寫速率嗎?Linux
- Linux gcc編譯器安裝LinuxGC編譯
- 在命令列下使用vs的編譯器命令列編譯
- Tinyx 交叉編譯配置檔案(arm版)編譯
- 編譯器的編譯基本過程編譯
- ARM-Linux嵌入式開發和微控制器開發的不同Linux
- windows dll 和 Linux so 的異同WindowsLinux
- Linux下C語言編譯的問題LinuxC語言編譯
- linux下debug與release編譯的方法Linux編譯
- Linux下c mysql程式的編譯命令(轉)LinuxMySql編譯
- gcc 編譯器與 clang 編譯器GC編譯
- Linux Centos下編譯安裝RedisLinuxCentOS編譯Redis
- linux下gcc/g++編譯用法LinuxGC編譯
- 【譯】Object與Map的異同及使用場景Object
- 【譯】Array與Set的異同及使用場景
- 線性同餘-常見語言編譯器引數編譯
- Linux下nginx編譯安裝教程和編譯引數詳解LinuxNginx編譯
- [ARM] ARM彙編指令