GCC

来自osdev
跳到导航 跳到搜索

GNU编译器集合 (GCC) 是一个工具包,用于编译和组装各种平台和语言的程序。 它是自由软件基金会的GNU计划中的核心实用程序之一。

虽然它与C和C最密切相关,但实际上它是由几个编译器及其库组成的套件。 截至2016-04-27,GCC的最新版本是6.1.0版,其中包括对ANSI和K & R C,Objective-C,C,Java,Fortran和Ada的支持。

符合POSIX的平台强烈支持GCC,但也已移植到Windows等其他操作系统。 GCC还支持针对许多不同的CPU架构,包括 X86X86-64IA-64阿尔法 SPARC MIPS PowerPC,以及 ARM

使用GCC开发操作系统

尽管其他编译器可以用于OS开发,但鼓励OS开发人员使用GCC衍生工具之一。

您需要一个 交叉编译器 来编译您的操作系统,否则它将假定您正在为当前的操作系统构建程序, 当它真的在做别的事情的时候。

构建GCC

正文: Building GCC

值得获得最新版本的GCC并将其作为系统编译器安装并偶尔升级它。 它还将帮助引导一个适当的交叉编译器。

创建GCC交叉编译器

正文: GCC Cross-Compiler

这很容易,并且需要花费一些时间来构建针对您的操作系统的交叉编译器。 在速度较慢的计算机上构建它可能需要一段时间,但是你只需要做一次,你可以节省所有的时间,否则你会花在 “修复” 你会遇到的完全虚构的问题上。 稍后,当您开始为操作系统构建用户空间时,值得创建一个 OS specific_toolchain 来绝对控制编译器并轻松编译用户空间程序。

特定于操作系统的工具链

正文: OS Specific Toolchain

一旦开始添加用户空间,就值得建立一个工具链,以了解您的操作系统以及如何为其生成程序。 这是开始移植GCC时的第一个任务。

托管GCC交叉编译器

正文: Hosted GCC Cross-Compiler

本教程通过使用用户空间支持构建特定于操作系统的工具链来完成它。

移植GCC

正文: Porting GCC to your OS

如果你想自我托管,你肯定会想移植GCC。 这是一堆工作,但是当您的操作系统准备就绪时,它并没有那么糟糕。

其他系统上的GCC

默认情况下,GCC几乎安装在每个Unix系统上。 它也被移植到Windows和其他操作系统:

  • MinGW 是用于Windows的GNU环境的一个端口。
  • Cygwin 是Windows下大多数论坛成员的选择,因此可能更容易获得帮助。
  • DJGPP 是GCC到DOS的旧端口,可以在Windows下使用。不鼓励使用DJGPP。

另见

文章

论坛话题

外部链接

de:GNU_Compiler_Collection