2016-11-09 4 views
1

RTSオプションをプログラム内から設定することはできますか?プログラム内でRTS設定を設定する

具体的には、私はHaskellのスタックで、あなたはコンパイル時にいくつかのRTSオプションを決めることができることを知っている

./my-prog +RTS -M4G

と同じを達成したいです。しかし、私はプログラムがこれらのオプションを設定ファイルから読み込み、これらのオプションを認識できるようにしたいので、コンパイル時にこれらのオプションを修正する必要はありません。

これはGHCで可能ですか?

答えて

0

私はこのようなオプションをプログラム自体から設定することはできませんが、実行時には確実に設定することができます。設定解析は、RTSオプションを設定するプログラムの外部にある必要があります。あなたは設定を読んで目的のプログラムを実行するためのプログラム/スクリプトを書くことができます。

3

Cコードを書き、いくつかのGCフックを上書きすることもできますが、最も簡単な方法は、スクリプトに環境変数を設定させることです。実行しているときに+ RTSの間に、コマンドラインで

  • 、-RTS ...: https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/runtime_control.html#setting-rts-options

    はRTSオプションを設定するには、次の4つの方法があります。ガイドはRTSオプションを設定することができます4つの方法を示していますGHCユーザプログラムは

  • (コンパイル 時にRTSオプション設定)-with-rtsoptsを使用して、コンパイル時に

  • (RTSコマンドラインでオプションを設定します) (RTSに 動作を変更するには、「フック」)ランタイムシステムの「フック」を上書きすることで、環境変数GHCRTS( GHCRTS環境変数でRTSオプションを設定する)

関連する問題