ムービーに集められた画像を生成するために、gnuplot で大量のデータ ファイルを処理する必要があります。この手順には時間がかかるため、フレームを並行して作成し、ユーザーに進行状況を知らせる小さなメッセージを時々出力する必要があります。
私はメイクファイルのアプローチを試しました:
SOURCES=$(wildcard ./*.in)
OBJECTS=$(SOURCES:.in=.out)
all: $(OBJECTS)
%.out: %.in
./worker.sh $< $@
ここで、worker.sh は次のとおりです。
gnuplot << EOF
set some_gnuplot_options
set output "$2"
plot "$1"
EOF
しかし:
- 進行状況メッセージを印刷できません。
- 私は単一ファイルのソリューションを好みます (
worker.sh
makefile にコンテンツを直接入れることに成功していません)。 - このソリューションは、すべての命令を含む単一の gnuplot スクリプトに関してかなりのオーバーヘッドをもたらします。
おそらく決定的な解決策は、gnuplot への適切な C++ インターフェースを用意することですが、既存のインターフェースについてよく知りませんし、どうすればよいかわかりません。他のアイデアはありますか?私が使用している一部のマシンではそれらを使用できないため、GNU 並列のような新しいプログラムやあまり一般的ではないプログラムをほのめかすことは避けてください。