4

最近、Fedora 16 をインストールしました (これは素晴らしいです)。主な理由は、LDC2 を試してみたかったからですが、Gnome Shell が Ubuntu 11.10 よりも Fedora でよりスムーズに動作するためです (少なくとも私のハードウェアでは)。

LDC2 はうまく機能しますが、LLVM .ll/.bc コードを出力することで、Windows/Mac/Android でアプリケーションをコンパイルして実行できるかどうか疑問に思っています。LLVM を使用している Windows マシンで、.ll/.bc ファイルを ASM .s にコンパイルできます。しかし、最初に ASM をコンパイルしようとすると、「'main' functions not found.」というエラーが表示されます。ASM を調べると、_Dmain 関数が表示されます。私は ASM をコンパイルした経験がないので、少し迷っています。

ここで DRuntime が機能することは理解していますが、LDC2 の DRuntime プラットフォーム サポートの状態に関する最新情報はほとんどありません。だから私は私のオプションがここにあるのだろうかと思っています。この時点で、LDC2 は Windows 用のコードをコンパイルできますか? 現時点でサポートされている他のプラットフォーム/アーキテクチャのクロスコンパイルはありますか?

GDCはどうですか?GDC を試してみたいのですが、Fedora Software Center で見つけることができません。また、Linux に少し慣れていないため、ソースからビルドするのに苦労しています。


D (バージョン 2) は私のお気に入りの言語 (2 番目に C#) であり、ハードウェアやプラットフォームのサポートを気にせずに D でゲーム/アプリを作成できる日を楽しみにしています。私はこの言語を応援しています。将来、オープン ソース コミュニティが D を強く受け入れることを願っています。これは、私が今まで見た中で、パワー、パフォーマンス、生産性の最高のバランスです。

4

3 に答える 3

1

LLVM .ll/.bc コードを出力することで、Windows/Mac/Android でアプリケーションをコンパイルして実行できるかどうか疑問に思っています。

標準ライブラリと言語ランタイムには、現在のプラットフォームに応じて条件付きでコンパイルされたコードがたくさんあるので、ありません。

于 2011-10-13T02:31:11.387 に答える
1

GDCはどうですか?GDC を試してみたいのですが、Fedora Software Center で見つけることができません。また、Linux に少し慣れていないため、ソースからビルドするのに苦労しています。

GDC のコンパイルは簡単です。指示をよく読んでください。

残りはすでに述べた。プラットフォーム非依存は、D レベルでの条件付きコンパイルによって実現されるため、ビットコードもプラットフォームに依存します。

于 2011-10-13T11:16:31.847 に答える
1

LDC2 はうまく機能しますが、LLVM .ll/.bc コードを出力することで、Windows/Mac/Android でアプリケーションをコンパイルして実行できるかどうか疑問に思っています。

いいえ。ランタイムの違いだけではありません。http://llvm.org/docs/FAQ.html#platformindependentを読んでください。これは C/C++ 指向ですが、それでも多くのことが D にも当てはまります。

于 2011-10-13T10:00:55.707 に答える