Board logo

标题: GNU C/C++ 工具链简介 [打印本页]

作者: look_w    时间: 2017-11-18 21:35     标题: GNU C/C++ 工具链简介

简介GNU 软件的一个显著优点是它来自严格的开发者社区,具有很好的可移植性。GNU 开发工具链(toolchain)是指 GNU Compiler                Collection、GNU libc 以及用来编译、测试和分析软件的 GNU binutils。这些工具遵守 PowerOpen ABI 和 64                位的 PowerPC® ELF ABI Supplement 规范,从而确保与其他类似工具的二进制兼容性。此外,它们是 Linux on POWER                的默认开发工具链。
尽管 GNU 工具重点强调的是兼容性,但是与其他通用开发平台相比,它们在 POWER 架构上仍然有一些特有的区别。POWER                上的指令集与其他架构有所不同,GNU toolchain 负责处理这些区别。开发人员应该理解使用 GNU toolchain for Linux                on POWER 的细节。例如,在 Linux on POWER ABI 和其他通用的 ABI                之间有所差异,开发人员必须知道在开发和移植软件时,这些差异会对自己的代码产生什么影响。
值得一提的是 IBM XL C/C++ 和 Fortran 编译器也会使用 GNU toolchain 来生成二进制文件。在这些相关的地方,我们将针对                XL C/C++ 对 GNU toolchain 进行讨。通过逐步解决基本操作、特定于 POWER 的操作、潜在的缺陷和 GNU toolchain                一些新开发的特性,本文解决了 GNU toolchain for Linux on POWER 的软件开发和可移植性需求问题。本文还对 GCC                C/C++ 编译器、GNU 链接器和汇编程序以及其他一些 GNU binutils 进行了探索。虽然还有很多平台都没有介绍,但 GNU                手册通常都会引用一些完整介绍这些主题的资料。本文并没有讨论 Linux on POWER 系统中其他 GCC 编译器、IBM XL                C/C++、Fortran 或 Java 开发的一些细节问题。
我们从 GCC 编译器和编译驱动器入手开始介绍,依次介绍 GNU 链接器、GNU 汇编程序和其他的 binutils。本文没有明确地对 GNU C                Library 进行讨论,因为特定于 POWER 的变体很少,应该不会影响到用户,C Library 通常也被认为是 GNU Toolchain                的一部分。在合适的地方,我们给出了在 Linux on POWER 上发现的一些细微区别,为那些熟悉其他平台上的 Linux 或者在 POWER                架构上运行的 AIX 的开发人员提供帮助。(例如,x86 和 POWER 之间就有一些区别:前者的汇编程序不同,后者在 ELF 和 XCOFF                ABI 之间也有所不同。)




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0