KHPC ver.0.03の内部資料的なもの
基本仕様
- KHPCの4番目のバージョン。KHPCはpersistent-Cの簡易実装を目指したツール群。
- 基本方針: とにかくできるだけ手抜きをする。次のバージョンでまともにすればいい。手抜きは美徳である。
- このバージョンの目玉:pbdtolにsetintコマンドを追加
ダウンロード
サンプルコード(1)
#include <stdio.h>
#include "khpc0.h"
persistent int t3_flag = 0;
int main(int argc, const char **argv)
{
int i = 0;
persistent_load(0);
persistent_save(0); // セーブファイルを確実に作るため.
while (t3_flag == 0) {
persistent_load(1);
i++;
printf(" %d \r", i);
}
return 0;
}
- こんなプログラムを作って、t3.cで保存してビルドして実行すると、数字が延々とカウントアップされる。
- そしてpbdtolでsetintして、t3_flagを1にすると、プログラムは1秒以内に止まる。
- Ctrl-Cで強引に止めるのと大差ないと思うかもしれないけど、これはプログラムで自発的に止まっているので、とても安全である。
- pbdtolなんか使わなくても別のプログラムで永続変数のt3_flagを読み書きすればそれで十分ではあるが、そんなプログラムをわざわざ作らなくてもいいというのがポイントである。
- もちろんキー入力などをスキャンして、特定のキーが押されたら終了するというように書くことはできる。それはむしろ便利かもしれない。でも永続変数による方法なら、他のプログラムからOSに依存せずに終了信号を出すこともできるので、応用しやすいのではないかと思う。
関数群
こめんと欄