KHPC ver.0.03の内部資料的なもの

  • (by K, 2016.08.08)

基本仕様

  • 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_noload();
    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に依存せずに終了信号を出すこともできるので、応用しやすいのではないかと思う。
  • またCtrl-Cで止める場合とは異なり、0,1以外にもいろんな値を伝えられる。

関数群

こめんと欄


コメントお名前NameLink

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-08-09 (火) 12:37:31 (2809d)