代码之家  ›  专栏  ›  技术社区  ›  Chris Pietschmann

可以让.NET/Mono在TI-84或其他TI计算器上运行吗?

  •  1
  • Chris Pietschmann  · 技术社区  · 14 年前

    有人知道在TI绘图计算器上运行.NET或Mono需要什么吗?我知道完整的框架可能不适合设备,但是一个子集可能非常适合服务器。

    更新:当我说“.NET/Mono”时,我真正的意思是让一个C#或VB.NET应用程序为设备编译,以便它可以执行。我知道.NET框架很大,不适合设备,但这不是必需的。您所需要的只是一个.NET风格的API,它将设备的本机功能公开给C或VB.NET编程语言。

    我只是好奇是否有人调查过这件事。我不知道它会有什么实际应用,但肯定会很有趣。

    6 回复  |  直到 10 年前
        1
  •  4
  •   Prof. Falken    12 年前

    这个虚构的嵌入式.NET平台-我们可以称之为“D2ME”, 在.NET(和Mono)上 J2ME 是为了 Java . 然而,值得注意的是,J2ME标准要求设备至少具有512K ROM和256K RAM。请记住,我们可能无法更改TI-84 ROM,这意味着 在ROM中,也要符合48K的 皇家音乐学院

    如果几乎所有的.NET类和帮助函数都被省略,从而否定了.NET的大部分优点,那么即使这样也可能实现。

    另外,如果你想要“NET的特性而不是运行时”,你想要什么?C#到本机编译器?当然可以,但是那些为VB.NET编写的代码呢?然后还必须为VB.NET创建一个本机编译器。当然,可行,但很难。其中一点 CIL 是为了避免那样。

    这就引出了汇编的问题,特别是 目标 Z80 虽然在尺寸上相当聪明,但有着严格的限制。我认为很难用本地的Z80指令来做任何类似于C#类型系统的事情。当然,它可以模仿史蒂夫沃兹尼亚克的16位CPU SWEET16 ,但那几乎会让我们回到CIL。

    总之,我认为这是一个“可能但非常不可能”的餐巾纸项目。我甚至还没有谈到表演的问题。这是一个很好的思想实验,但我永远不会有动力去建立这样的东西。:-)

        2
  •  7
  •   Paul Sonier    14 年前

    编辑:正如OP所要求的那样,实现一个类似“.NET”的API是可能的,但老实说,这一点有点难以理解。NET的价值不在于它的“惊人的结构良好的API”(因为它的结构并不特别惊人);它在于CIL和托管代码的使用,以及一些基本上依赖于它们的有趣特性(泛型、lambda函数、委托等)。

        3
  •  2
  •   Puppy    14 年前

    你甚至需要专门设计本地应用程序来适应这个空间。托管代码不可能适应24k。

    编辑:语言?首先,你必须移植BCL。仅此一项就可能需要超过48kb。

        4
  •  1
  •   BrianX    14 年前

    几乎没有必要尝试这样做,特别是因为在这样一个有限的系统上运行VM几乎是不实际的(如果你是一个贪得无厌的惩罚者,并且你在桌面上运行pcode编译器而不是计算器,你可能会在TI-84Ag上运行UCSD Pascal,但即使这样也会使它变长)。面向对象的东西几乎完全是不可能的;即使是最早在桌面上主流化面向对象框架的苹果,在第一台Mac电脑上市一年多后,仍然使用单任务操作系统,也需要16/32位处理器和512K内存来实现。请注意,在一个内存是TI-89的3倍的系统上,有68000个本地代码。

        5
  •  0
  •   James Sumners    14 年前

    我想你最好用 TI-GCC

        6
  •  -1
  •   FlappySocks    14 年前

    瓦拉可能是你唯一的希望# http://live.gnome.org/Vala