【问题标题】:Compiler for custom cpu architecture [closed]自定义 cpu 架构的编译器 [关闭]
【发布时间】:2014-12-08 01:18:39
【问题描述】:

是否有将 C 转换为可在 Windows 上运行的程序集的工具?

cpu 架构(8 位和 16 位)是内部的,这意味着它有自己的指令集。

C 编译器应该使用我们内部的汇编语言。该语言不是基于x86ARM。由于是公司的知识产权,我不能提供太多详细信息。

【问题讨论】:

  • 所以让我直截了当地说:您想将一些 C 代码交叉编译为内部 8/16 位自定义 cpu 架构,并且您想使用不知道的公共编译器来实现你的系统是什么?有很多不同的汇编语言,所以你必须更具体。您的自定义 cpu 架构可以运行 x86 程序集吗? ARM?
  • 汇编语言是内部的,它不是基于 x86 或 arm。

标签: c assembly compiler-construction cpu microcontroller


【解决方案1】:

您必须学习使用可替换后端进行代码生成的开源编译器之一。 Gcc 和 CLang 可能是一个很好的起点。

【讨论】:

  • sun.hasenbraten.de/vbcc 是另一个,比 gcc 和 llvm 更痛苦。
  • @dwelch SDCC - Small Device C Compiler 似乎是另一个维护的可重定向编译器。谷歌查询:microcontroller embedded 8bit c compiler 可能会透露其他候选人
  • 对,忘了,sdcc 是另一个,它适用于 8/16 位 micros...
【解决方案2】:

是的,Virginia,Windows 上有“将 C 转换为程序集的工具”。我想到了 GCC;同样是 MS Visual Studio。

我确定这不是您想要的,因为 Windows 的现成版本倾向于生成 x86 目标代码。听起来您想要一个用于特殊非 x86 指令集的编译器。

鉴于您没有提供任何详细信息,如果这样的编译器已经存在,任何人都无法做出回应。

在没有这些细节的情况下,我们所能做的就是为您提供一般性的建议。可以配置 GCC 为相对任意的指令集生成代码。这样做并不是在公园里散步,但它已经针对许多不同的指令集完成了。

【讨论】:

  • 您好,我很抱歉没有为您提供更多详细信息,因为它是公司 IP ...我希望您能理解,是的,不存在这样的编译器。所以你是说我可以在 MS Visual Studio 中编译 GCC?
  • GCC 会自编译;对于 Windows,获取 Cygwin 工具 (cygwin.org),其中包括一个工作 x86 GCC 编译器。您还可以从gnu.org/software/software.html 获取 GCC 的源代码。从那里,您可以使用 GCC 编译器将修改后的源代码编译为 GCC。然后,您修改源以匹配您的指令集。我没有这方面的具体经验,但过去 20 年来人们一直在这样做。修改 MS C 编译器是不切实际的。
猜你喜欢
  • 1970-01-01
  • 2010-09-14
  • 2014-12-02
  • 1970-01-01
  • 2012-01-31
  • 2010-10-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多