No Such Blog or Diary

«Prev || 1 | 2 | 3 |...| 847 | 848 | 849 |...| 1347 | 1348 | 1349 || Next»

またXが落ちた……

幸いなことにひと作業終えて次の作業にとりかかるところだったから良かったのだけど,なんで落ちるかなぁ.

しばらく落ちるタイミングを観察しようかね.とりあえず今回は firefox でタブを閉じようとした瞬間ぐらいに落ちた.

また落ちた.今度は temrinal で latex のコマンドが大量の出力を流しているときに.つーか,今回はもろに作業中だったのでそれなりに痛いですよ.

閑話休題.

バケツプリンって食べるの大変だなぁと実感.5Lのプリンを消費するには10人では足りないと思われる.味が単調なのもいけない.

で,カロリー控えめにするならバケツ寒天とかいいかもなぁとか,和風にバケツ羊羹とか面白そうだなぁとか思った.まあ,柔らかめにバケツ水ようかんが妥当か? 誰かやらないかな.

咳が止まらない

今日は一日中輪講なのだけど,輪講に出てもうるさくて迷惑なので欠席.と思ったら,一部は何かの都合で明日になってたのだったっけ.幸い.

つーかそろそろ肋骨周りが痛くなって来ましたよ?

C言語で return を省略した関数の戻り値を使うのは不定

ISO/IEC 9899 のC99の仕様とか C11のドラフト の 6.9.1 Function definitions には次のように書かれている.つまりは return なしで関数の最後まで行き,その関数の戻り値が使われたなら,何が起こるかわからないと.

12 If the } that terminates a function is reached, and the value of the function call is used by the caller, the behavior is undefined.

が, どうせ return 文が無いだけならコンパイラが %eax にデータを上書きしないだけなので,それを期待すれば下の階乗のプログラムは想定通りに動く(gcc 4.5.3 @ cygwin で確認).つまり,関数の最後で関数を呼び,末端の呼び出しの return をいちばん外側まで到達させる(末尾再帰なわけだけど).実際にアセンブリで見てもそうなってる.

#include <stdio.h>
int fact(int k) 
{
    static int f=1;
    if( k <= 0 ) return f;
    f*=k--;
    fact(k);
}
int main(int argc, char*argv[])
{
    printf("%d\n", fact(10));
}

で,お手伝いしているプログラミング演習で結構な数の学生らが上のようなものを書いてしまい,それが適当に動いてしまったがために「再帰呼び出しを繰り返してもどこかで発行した return の値が最初の呼び出しまで戻る」とか勘違いしてしまったのが問題.その次の課題の二分探索のプログラムで結構な数の学生が再帰呼び出しに return を書いてくれないという状況に陥った.ま,再帰関数の説明の資料が void 型の関数だったので理解のしようもないのだけど(注:私は資料にノータッチ).

つか,それって再帰の深部で値を exception に乗せて throw で投げて再帰の外で catch するという exception-driven programming の思想だよね(注:普通の意味と違う).

Ubuntu 12.04 で X が不安定だ……

何故か突然落ちてくれる,作業中に.そして作業していた内容が全部消えるという罠.

こまめに保存しておかないとヤル気がなくなる&そもそもリセットされると作業効率が悪い.どうにかせねば.

Makefile を置いてくれ……

共著者が論文のリポジトリに Makefile を置いてくれないので tex のコンパイルがめんどくさい.

ということで,pdflatex 3回と bibtex をまとめて実行してくれるような関数を .bashrc に書いておくことにした.これで作業が捗る.

function pdflatex3 {
  if test "x$1" = "x"; then
    echo "Usage: pdflatex3 name"
  else
    pdflatex $1 && bibtex $1 && pdflatex $1 && pdflatex $1
  fi
}

風邪再び

やっぱり雨の高速を防水でない装備で走り続けたのがこたえたかなぁ…… また風邪引いたよ.

とりあえず今日はおとなしくゲームしてよう.

«Prev || 1 | 2 | 3 |...| 847 | 848 | 849 |...| 1347 | 1348 | 1349 || Next»
Search
Feeds

Page Top