注意:我对GCC工具链知之甚少,所以这个问题可能没有多大意义。
由于GCC包含Ada前端,并且它可以发出ARM,而devKitPro基于GCC,是否可以使用Ada而不是C / C ++在DS上编写代码?
编辑:似乎devKitARM使用的目标是arm-eabi。
答案 0 :(得分:6)
devkitPro不是工具链,编译器或任何软件包。用于定位DS的工具链是devkitARM,它是devkitPro提供的工具链之一。
有可能构建ada编译器,但我非常怀疑你是否能够在DS本身上运行任何有用的东西。 devkitPro肯定不会提供ada编译器作为我们生成的包的一部分。
答案 1 :(得分:3)
是的,有可能,请参阅我的项目https://github.com/Lucretia/tamp并根据我的脚本构建交叉编译器。然后,您就可以使用Ada定位NDS。我已经构建了一个基本的RTS,它将为您提供本地异常处理。
和@Martin Beckett,为什么认为Ada直接针对DoD的东西?几年前他们放弃了授权,Ada很容易用于任何项目,你确实意识到Ada是 通用编程语言 不是吗?
答案 2 :(得分:2)
将语言移植到nintendo DS时要考虑的一件事是它拥有的相对较小的堆栈(16KB)。有可能的解决方法,例如在堆栈满了时将SRAM堆栈内容交换到DRAM(4MB)中,或者只是将整个堆栈放入DRAM中(假设速度很慢)。
我是第二个Dre,因为你必须在你想要使用的Ada库函数和DS上的现有库(它们有望覆盖大部分硬件内容)之间提供粘合剂。
答案 3 :(得分:1)
(免责声明:我不知道Ada)
可能。
您可能能够构建devKitPro以使用Ada,但是,预先提供的二进制文件(至少对于OS X)没有编译的Ada支持。
但是,您可能会发现自己编写了大量的C“胶水”代码,以便与各种硬件寄存器等接口。
答案 4 :(得分:0)