persistent-C のページ

  • (by K, 2016.02.17)

基本的なアイデア

  • (1) C言語を少しだけ拡張し、以下の構文を使えるようにします。
    persistent int a; // こうすると、変数aは「永続変数」になる。
    • 永続変数は、persistent_save(0); や persistent_load(0); という命令によって、外部ファイルに書きだされたり読み戻されたりする。それ以外のタイミングでは同期されない。
    • 基本的にはこれだけ。
  • (2) この拡張によって、以下のことができるようになります。
    • (2-1) ゲームにおけるhigh-scoreなどの処理が非常に簡単になる。初心者がfopenとかで悩まずに済む。
    • (2-2) 処理を一度中断しても再開できるようなプログラミングが可能になる。
         [例]
         persistent int sum = 0, i = 0;
         persistent_load(0);
         for (; i <= 100; i++) {
             sum += i;
             persistent_save(0);
         }
    • (2-3) データ書き換えのundoができる。
      • つまり、変数に値を代入している途中で、「あ、やっぱり元に戻そう」と思ったら persistent_load(0); してしまえばいい。そうすれば直前のpersistent_save()時点に戻る。
      • ただし永続変数以外は戻らないけど。
    • (2-4) 永続変数を後から参照できる。
      • 簡単な外部ツールを使うことで、永続変数の値をいつでも確認できる。
      • プログラムが実行中でも変数を参照できる。
      • なんなら値を書き換えることもできる。
      • デバッグには非常に有効。
    • (2-5) 他のプログラムの永続変数にアクセスできる。
      • これでプログラム間の通信をすることができる。
      • 高度なデバックにも使えるかも。
  • (3) この拡張は便利な反面、バグの温床やセキュリティホールもたくさんありそうです。
    • それを片っ端から列挙して、一緒に考えましょう。
    • どうすれば、便利と安全が共存できますか?
    • さらに拡張するとしたら、どんな機能を加えますか?
    • (このセクションはセキュリティキャンプ2016を想定しています)
  • (4) このpersistentを使って、適当なプログラムを作って遊びましょう。
    • blikeライブラリも提供するので、C言語からグラフィックやキー入力も簡単に扱えますよー。
      • blikeライブラリは、BASICのグラフィック命令やINKEY的なことを、C言語でやるための簡易ライブラリ。
    • (このセクションはセキュリティキャンプ2016を想定しています)
  • (5) 補足
    int  persistent_save(double sec); // sec秒以上の間隔をあけて保存する。
         // あまり高い頻度で保存するとさすがに遅くなるので、クリティカルでないのなら30秒とかのほうがいいかも。
         // 戻り値が-1なら保存を実行した。0なら高頻度だったので今回は保存しなかった。という意味。
    
    int persistent_load(double sec); // 読み込む。secや戻り値についてはsaveと同様。
  • ポイントとしては、こんな簡単な拡張で、こんなにできることが広がるということを分かってほしい。
  • だから柔軟な発想を!
  • ・・・そして課題も増える。しかし課題があっても簡単にはあきらめないで。

仕様と実装

  • persistent-C は仕様というかコンセプトなので、様々な実装があってよい。細部は処理系ごとに違っていてもいい。
  • さまざま実装が試みられて、良いものが生き残ればよい。
  • Kもひとまず簡易な実装を作るけれど、それはKHPCと名乗らせることにする。→KHPC

こめんと欄

  • very best job http://keezmovies.in.net/ www.keezmovies.com Wen, who served a tour of duty on “ER” and provided the voice of Disney’s Mulan, knew all the bruises would be worth it from her 7-year-old son’s reaction after watching the pilot at this summer’s San Diego Comic Con. -- Frank 2019-06-29 (土) 18:20:47
  • Where did you go to university? http://xvedio.in.net/ sexvedio Dr Habip Gedik, of Istanbul’s Sadi Konuk Research Hospital, who conducted the study with Dutch counterparts, said: “Banknotes containing plastic substances are more likely to carry and transmit bugs. But this does not mean banknotes without plastic never carry or transmit bugs, or that plastic notes are a big public health problem. -- Melvin 2019-06-30 (日) 00:31:05
  • I wanted to live abroad http://xnxx.photography/ xnxx videos There’s also the possibility the Maras and Tisches strongly suggest he retire. They will never announce they have fired him. If Coughlin knows he is not wanted, he has too much pride to stay. This is a fluid situation. -- Refugio 2019-06-30 (日) 01:02:19
  • I'm in my first year at university http://tiava.in.net/ tiava All this might sound self-righteous if Lorde weren’t redeemed by a certain cool. She has clearly fashioned her style after the queen of bone-dry detachment, Lana Del Ray. But while that strategy backfires for Del Ray, who ends up sounding like a zombie wanna-be, Lorde inhabits the part with both more conviction and better music. -- Levi 2019-06-30 (日) 01:30:43
  • I'm not working at the moment http://xhub.in.net/ Xnxx Last week – with perfect timing as the mercury plunged - the first of the 'Big Six’ energy companies announced inflation-busting fuel price increases of 8.2 per cent, adding £100 to average bills. The lucky occupants of the solar house however will pay nothing to heat or power the five-bedroom home. The walls of the south-facing U-shaped property are clad with metal punctured with tiny perforations. These panels heat up and hot air is sucked, through the perforations, into the home’s air-conditioning system. Hot water heated by solar thermal panels on the roof is pumped underground and stored, an enormous step forward from traditional ground-source heat pumps, which only use heat already in the ground and have to work much harder to provide usable energy. -- Thebest 2019-06-30 (日) 01:30:48
  • I work for a publishers http://xnxx-xnxx.site/ xxnx movies © 2013 New England Sports Network. All Rights Reserved. All photos © 2013 Associated Press and NBA photos © 2013 Getty Images unless indicated. Any commercial use or distribution without the express written consent of Associated Press is strictly prohibited. -- Abigail 2019-07-08 (月) 07:06:11
  • In tens, please (ten pound notes) http://xnxx-xnxx.space/ xnxx telugu The campus is home to nearly a dozen food courts and dining halls, among them a teppanyaki grill and sushi bar and a wood-fired chargrill steakhouse. Says Jagodinski: "I honestly crave the food from school when I'm back home."  -- Mishel 2019-07-08 (月) 07:43:18
  • I wanted to live abroad http://xvideos.doctor/ sex videos While Ford hasn’t stated an exact time frame for the world debut of the 2015 Ford Mustang, many believe that it will be introduced at the 2014 New York International Auto Show on April 17th 2014 – -- Jerold 2019-07-08 (月) 11:49:34

コメントお名前NameLink

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-07-08 (月) 11:49:34 (46d)