1

.NET または Mono を TI のグラフ電卓で実行するには何が必要か知っている人はいますか? 完全なフレームワークはおそらくデバイスに適合しないことはわかっていますが、サブセットはおそらく非常にうまく機能します.

更新: 「.NET / Mono」と言うとき、実際に意味しているのは、C# または VB.NET アプリケーションをデバイス用にコンパイルして実行できるようにすることです。.NET Framework が巨大でデバイスに収まらないことはわかっていますが、それは必要なことではありません。必要なのは、デバイスのネイティブ機能を C# または VB.NET プログラミング言語に公開する .NET スタイルの API だけです。

誰かがこれを調べたかどうか、私はただ興味があります。それが実際にどのような実用的なアプリケーションになるかはわかりませんが、間違いなく興味深いものになるでしょう。

4

6 に答える 6

7

私はそれを非常に真剣に疑っています。24K の RAM。サブセットでさえ、かろうじて適合します。

編集:OPから求められたように、「.NETのような」APIを実装することは可能ですが、正直なところ、その点は少しわかりにくいでしょう。.NET の価値は、その「驚くほどよく構造化された API」にはありません (特に驚くほど構造化されているわけではないため)。それは、CIL とマネージ コードの使用と、それらに基本的に依存するいくつかの興味深い機能 (ジェネリック、ラムダ関数、デリゲートなど) にあります。

于 2010-11-04T17:39:27.917 に答える
4

この架空の組み込み .NET プラットフォーム - 「D2ME」と呼ぶこともできますが、JavaにとってのJ2MEと同じように、.NET (および Mono) にとってはそうなるでしょう。ただし、特に J2ME 標準では、少なくとも 512K の ROM と 256K の RAM を備えたデバイスが必要です。おそらく TI-84 ROM を変更することはできないことに注意してください。つまり、J2MEで ROM にあるものは、電卓の 48K RAMにも収まる必要があります。

ほぼすべての .NET クラスとヘルプ関数を省略して、.NET の利点のほとんどを無効にすれば、これでさえおそらく達成できます。

また、「ランタイムではなく.NETの機能」が必要な場合、何を求めていますか? AC# からネイティブ コンパイラへ? もちろん実行可能ですが、VB.NET のコーディングについてはどうでしょうか。次に、VB.NET 用のネイティブ コンパイラも作成する必要があります。もちろん、実行可能ですが、難しいです。CILの 1 つのポイントは、それを回避することです。

これは、コンパイルの問題、特にコンパイラのターゲットにつながります。TI-84 には 8 ビット プロセッサのZ80が搭載されており、そのサイズは非常に優れていますが、厳しい制約があります。Z80のネイティブ命令でC#の型システムに似たものを作るのは難しいと思います。もちろん、Steve Wozniak のSWEET16のような 16 ビット CPU をエミュレートすることもできますが、それではほとんど CIL に戻ることになります。

全体として、これは「おそらく可能だが非常にありそうもない」ナプキン プロジェクトの 1 つだと思います。そして、私はパフォーマンスの問題にも触れていません。これは素晴らしい思考実験ですが、私にはそのようなものを構築する動機はありません。:-)

于 2010-11-22T16:18:21.560 に答える
2

ネイティブ アプリケーションであっても、そのスペースに合わせて特別に設計する必要があります。マネージ コードが 24k に収まるわけがありません。

編集:言語?まず、BCL を移植する必要があります。それだけで、おそらく 48kb 以上を占めます。

于 2010-11-04T17:43:55.410 に答える
1

特に、そのような制限されたシステム上の VM はほとんど実用的ではないため、それを試す意味はほとんどありません (罰の大食いで、pcode コンパイラを実行している場合は、UCSD Pascal を TI-84Ag で実行する可能性があります)。電卓の代わりにデスクトップ上に表示されますが、それでも伸びています)。オブジェクト指向のものはほとんど問題外です。おそらく最初にデスクトップ上で OO フレームワークを主流化した Apple でさえ、最初の Mac が出荷されてから 1 年以上、それを実現するために Mac Plus、16/32 ビット プロセッサ、および 512K のメモリが必要でした。シングルタスクOS。TI-89 の 3 倍のメモリを搭載したシステムでネイティブ 68000 コードを使用していることに注意してください。

ただし、低レベルのハッキングについて十分に知っている場合は、Nspire でそれを実行できる可能性があります(ただし、TI 以外で実際にハッキングを行っている人がいるかどうかはわかりません)。Nspire はニンテンドー DSi と漠然と同じクラスに属しているため (プロセッサが 2 つではなく 1 つしかないにもかかわらず)、ハッキング コミュニティに参加して .NET クローンのようなものを作成する価値があるほど強力です。

于 2010-11-24T04:46:55.567 に答える
0

TI-GCCだけを使用したほうがよいと思います。

于 2010-11-04T17:57:16.350 に答える
-1

Vala はおそらく、C# http://live.gnome.org/Valaのようなことをする唯一の希望です。

于 2010-11-22T16:04:07.610 に答える