【问题标题】:Is there a way to add new language support (e.g. D) for RIOT OS? [closed]有没有办法为 RIOT OS 添加新的语言支持(例如 D)? [关闭]
【发布时间】:2016-10-22 22:35:03
【问题描述】:

D 可以访问目标环境中的 C/C++ 运行时库,它还允许 C 程序以类似的方式访问其函数。

[1] 有没有办法在 RIOT 上集成使用 D 程序的功能,就像在 D 编译器编译的二进制文件中一样?

【问题讨论】:

  • 在哪里添加语言支持?到你的工具链?
  • 是的,这样我就可以使用 D 而不是 C/C++ 进行开发(不要不尊重这两者!我只是想在这里消除学术上的好奇心!)跨度>
  • 检查 GCC 它提供了广泛的编程语言支持:dgcc.sourceforge.net
  • 肯定会经历的。谢谢! :)
  • dgcc.sourceforge.net 网站已经过时了。 GCC D 编译器的当前地址是 gdcproject.org 。在 RIOT 支持的架构(AVR、MSP、ARM)中,GDC 目前可能仅适用于 ARM。标准 d 运行时(druntime、phobos)不能在嵌入式系统上运行,因此您必须使用 --disable-libphobos 构建 GDC/GCC。请参阅wiki.dlang.org/Bare_Metal_ARM_Cortex-M_GDC_Cross_Compiler 了解更多信息。

标签: c++ c d riot-os


【解决方案1】:

由于 RIOT 默认是使用 GCC 构建的,我假设所需的“D 支持”已经存在 - 您需要在 GCC 中启用 D 编程语言(在某些情况下可能需要重新编译 GCC!)。

但是,GDC(http://gdcproject.org - GCC 中的 D 语言支持)可能还不支持您首选的目标架构。 ARM 绝对受支持 - 我自己在我的 ODROID (http://hardkernel.com) 机器上使用它。

正如@jpf(顺便说一句,他是 GDC 开发人员之一)所指出的,您没有使用标准库的奢侈,因此您将不得不一直使用 C 运行时,这并不是什么大问题问题...

如果您确实在 RIOT OS 上成功运行了您的 D 程序,请写一篇博客文章,介绍使其按您希望的方式运行所需的步骤。 D 社区会很感激这一点。

【讨论】:

    猜你喜欢
    • 2023-04-02
    • 2021-05-05
    • 1970-01-01
    • 2017-06-04
    • 2022-12-05
    • 2014-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多