【问题标题】:Can GCC be used to compile to customized platforms? [closed]GCC可以用来编译到定制平台吗? [关闭]
【发布时间】:2012-07-30 17:16:39
【问题描述】:

假设我们有一个新平台 X。
我们可以只修改 GCC 以便它可以为该平台编译 C/C++ 吗?如果是这样,这些变化是什么以及有多大?

【问题讨论】:

  • 是的,这叫做移植。这是一项相当艰巨的任务,除非您的平台与现有平台非常相似。考虑 LLVM。
  • 如果新平台与现有平台非常相似,则可能只需要重建。做一个谷歌搜索例如交叉编译。
  • 是的,您可以修改 GCC 以针对您的“新平台 X”进行编译。这需要多少努力取决于:这个“新平台 X”是什么?它是从现有架构衍生而来的吗?还是您从头开始设计的?
  • 我的猜测是,如果你不得不问,你不是这样做的人。

标签: c++ c gcc compiler-construction platform


【解决方案1】:

可以做到,但如果这是一个全新的架构,这将是一项非常艰巨的任务。

你必须做的一些事情:

  • 让 C 编译器为您的处理器生成汇编代码
  • 编写一个能够组装上述汇编代码(即端口 GAS)的汇编程序
  • (可能)使用与特定于您的处理器的选项相关的功能扩展链接器 (ld)
  • (可能)移植 binutils 的其他部分(如 objcopy 和 objdump)

您确定芯片制造商没有提供 GCC 的端口(或其他一些 C 编译器)吗?如果你是芯片制造商;你确定你真的需要这个定制处理器,或者你能用一些现有的支持很好的处理器(例如 ARM、AVR、PIC ......)吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-06
    • 2016-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-19
    • 1970-01-01
    相关资源
    最近更新 更多