Factor/FAQ/Factor のインストールFactor をダウンロードしてインストールする方法は? 最も簡単なのは、バイナリを利用する方法です。GIT リポジトリから取得したソースをコンパイルする方法もあります。 イメージとは何ですか? なぜ Factor はイメージを使うのですか? イメージとは、Factor が実行されていないときに、Factor がすべてのコードとデータを格納するのに使うファイルです。Factor の実行可能ファイルとダイナミックリンクライブラリは、Factor についてごく少量のことしか知りません。具体的には、仮想マシン、プリミティブ、およびイメージの構造しか知りません。ライブラリ全体はイメージに含まれています。これはブートストラッププロセス中にロードされたものです。イメージは、コードがロードされた後のメモリのマップです。Smalltalk とは異なり、Factor のコードはイメージではなく常にファイルで配布されます。 ブートストラップとは何ですか? なぜブートストラップ用のブートイメージが必要なのですか? 一般に、ブートストラップとは、自己ホスト型のコンパイラ (self-hosted compiler) 、すなわちコンパイル対象のプログラミング言語で記述されたコンパイラをコンパイルするプロセスのことをいいます。Factor は完全には自己ホスト型ではありませんが、コンパイラやパーサなど、多くの重要な部分 (ただし仮想マシンやプリミティブは除く) が Factor で記述されているために、ブートストラッププロセスを使っています。何年も前になりますが、かつては Java で記述された Factor インタープリタおよびコンパイラがあり、現在使っている Factor コードを実行し、イメージを作成するために、この Factor インタープリタおよびコンパイラが使われていました。現在は、ブートイメージを使っています。ブートイメージとは、フルイメージを作成するプロセスを起動するのに十分な知識を持った一種のミニイメージのことです。 どうすればブートイメージを作成できますか?
ブートストラップを試みたのですが、out of memory エラーが発生します。 次のようなエラーが発生する場合があります。 Loading P" factor.image" *** Data heap resized to 196104192 bytes *** Data GC (2 minor, 10 cards) *** Data heap resized to 630124544 bytes *** Data GC (0 minor, 0 cards) P" factor.image":1 ^ Word not found in current vocabulary search path no-word-name "\u00000c" Factor 実行可能ファイルに渡しているブートイメージ名が間違っています。正しくは、 Linux の X11 で UI を動作させるには、どのライブラリが必要ですか? libc、Freetype、X11、および OpenGL の最新の開発パッケージをインストールする必要があります。Debian 派生の Linux ディストリビューション (Ubuntu など) では、次のコマンドを実行します。 sudo apt-get install libc6-dev libpango1.0-dev libx11-dev libgl1-mesa-dev Cygwin 上で Factor をコンパイルしようとしたのですが、Boost に関するエラーが発生してコンパイルできません。この問題はどうすれば解決できますか? Factor を GCC 3.x でコンパイルするには Factor は、iPhone のような ARM ベースのコンピュータで動作しますか? いいえ。かつては動作していましたが、ARM 系への移植は今はもうメンテナンスされていません。実用レベルでの ARM への移植を行うには、Factor がクロスコンパイルをサポートする必要があり、メモリ消費を抑えるための手直しも必要になります。どちらも簡単ではなく、実際の ARM コンパイラバックエンド自体を開発するよりも、多くの作業と時間が必要になるでしょう。時間とリソースが限られているため、ARM ベースのコンピュータで Factor を実行することに何らかの商業的価値が生じない限り、ARM への移植が復活することはおそらくないでしょう。 This revision created on Thu, 21 May 2009 05:52:31 by slava |
|
|
All content is © 2008 by its respective authors. By adding content to this wiki, you agree to release it under the BSD license. |
|