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 核心的時候通不過。
相關文章
- ARM 之主流編譯器編譯
- 交叉編譯場景分析(arm-linux)(四)--編譯readline和ncurses編譯Linux
- 交叉編譯場景分析(arm-linux)--序編譯Linux
- A40i &T3 全原始碼編譯-ARM Linux核心在PC Linux的編譯方法原始碼編譯Linux
- LINUX下編譯TriangleLinux編譯
- Linux 下如何繞過編譯器優化Linux編譯優化
- Arm64架構下靜態編譯Nginx架構編譯Nginx
- Arm64架構下編譯便攜Python架構編譯Python
- Qt設定根據編譯器不同連結不同的lib庫QT編譯
- Linux下編譯安裝nginx1.8.1伺服器Linux編譯Nginx伺服器
- 你知道不同隨身碟在ARM+Linux下的讀寫速率嗎?Linux
- Linux下C語言編譯的問題LinuxC語言編譯
- 在linux下編譯hibernate筆記Linux編譯筆記
- 在pycharm中使用pip針對不同的編譯器新增包PyCharm編譯
- Linux下nginx編譯安裝教程和編譯引數詳解LinuxNginx編譯
- Tinyx 交叉編譯配置檔案(arm版)編譯
- Linux 環境下編譯安裝 RedisLinux編譯Redis
- Linux系統下編譯Openssl 步驟:Linux編譯
- 如何在Linux下編譯安裝MariaDBLinux編譯
- openEuler arm 環境原始碼編譯mysql 8.0.37原始碼編譯MySql
- 【C語言】linux下多檔案編譯C語言Linux編譯
- Linux下使用make命令編譯c原始檔Linux編譯
- linux下基於官方原始碼編譯ipoptLinux原始碼編譯
- 【譯】Object與Map的異同及使用場景Object
- 【譯】Array與Set的異同及使用場景
- 線性同餘-常見語言編譯器引數編譯
- Linux 命令列下的最佳文字編輯器Linux命令列
- C2000 編譯器下載地址編譯
- 異常-編譯期異常和執行期異常的區別編譯
- Linux下編譯安裝Mysql 5.5的簡單步驟Linux編譯MySql
- 編譯器的自展和自舉、交叉編譯編譯
- 淺談彙編器、編譯器和直譯器編譯
- LevelDB C++教程: Linux下編譯與安裝C++Linux編譯
- 04_Linux下把驅動編譯進核心Linux編譯
- 【MySQL安裝】Linux下安裝MySQL(預編譯)MySqlLinux編譯
- 推薦Linux系統中4款好用的編譯器!Linux編譯
- linux 改變GCC編譯器的位元組對齊方式LinuxGC編譯
- 如何編譯 Linux 核心編譯Linux
- linux核心修改編譯Linux編譯