憂鬱な午後のひととき


11月30日_
部屋の場所を開けるために整理. 20うん年前のステレオスピーカーさようなら.
11月29日_
・足の裏の痛みが治らないので医者に行く. 「歩かないのが一番やなあ」って言われても.
CLP-170 突然欲しくなって買ってしまった. 我ながら実は衝動買いする性格なのかも. 部屋に置く場所がないぞ.
11月28日_
↓ICCの場合, 最適化オプションに関わらずA<true> A<true>::a_の前にtemplate<>をつけるとv=0となる意味不明な現象が. なんじゃこりゃ.
11月27日_
・『13階段』(高野和明)
『手紙』が犯罪者の家族側の視点だったのに対して, この本は裁く側の視点. 被害者の心情を想像すると死刑はあってよいと思うけど冤罪は怖い.
リンクエラーの問題は結局VC6やVC7.1の仕様?
下のコードをコンパイルするとはgccでは最適化レベルに関わらず問題はないのにVC系では最適化なしではエラーになる. /O1をつけると大丈夫.
「A<true>のときはa_の実体が生成されてはいけない」というのは正しいのか知らない. けれどもコンパイルオプションによって挙動が変わるのはおかしいというdskさんの意見はごもっとも.
ところでBCCの場合はA<true> A<true>::a_の前にtemplate<>をつけないとエラーになっちゃい, 逆にgccではつけるとエラー, VCではどっちでも大丈夫と挙動が全て違うんですが, 正しいのはどれなんでしょう.
ちなみにBCCの場合は最適化レベルに関わらず両方のa_の実体を宣言しないとリンクエラーになった.
#include <stdio.h>

template<bool v>
class A {
    void put() const { printf("v=%d\n", v_); }
    bool v_;
public:
    A() : v_(v) {}
    static A a_;
    static void func() {
        if (v) {
            a_.put();
        } else {
            puts("false");
        }
    }
};

A<true> t;
A<false> f;

A<true> A<true>::a_;
//A<false> A<false>::a_;

int main()
{
    t.func();
    f.func();
    return 0;
}
11月25日_
・多倍長(160~512ビット)ルーチンを使った, とある楕円曲線上の演算がようやく.NET上で動くようになった.
簡単にベンチマークをとると下位ルーチンにGMPを使ったものが44.28秒かかったけど, 私たちのだと5.83秒. まあ汎用 vs. 専用なんでフェアじゃないけどね.
・『ハイ・イメージ論I』(吉本隆明)
読み込む力はないのでつまみ食い. 縄文式遺跡と弥生式遺跡の位置と標高の関係について述べた地図論は面白かった. でも本来の意味を全く無視した"一見数式, 実は単なる記号"を使うのはやめて欲しいなあ. 混乱するだけ.
11月23日_
・.NETでしか開発できないのでストレスがたまる.
Ctrl-F5で実行前にコンパイルされない, Release/Debugの設定が完全に別々でうっとうしい, 特定のファイルを一時的にプロジェクトから外した場合にアイコンが変化しない, アウトラインを"常に中止"にできない, 相変わらずせまくて使いにくいキーカスタマイズウィンドウ,...
なんでこんなに使いにくい&遅いんだ.
・『新本格猛虎会の冒険』(有栖川有栖, 北村薫他)
阪神優勝便乗規格かと思ったら2003年3月28日初版. 恐るべし. 私は野球は殆ど見ないのだけど著者たちの熱意が伝わってきて面白い.
11月18日_
・ICC7.1.023にバージョンアップ. 今まで.NETでICC使うとプロジェクトファイルが破壊されることがあって困ってたんだけど直ったみたい.
11月16日_
・テンプレート
VC++でごく簡単なものしか書いたことなかったのでこれを機会に勉強しよう. ただ, できればもっちとやさしいものから入りたかった.
・ビール
飲んでないくせにとのつっこみが. ごもっとも.
11月15日_
『虚空の逆マトリックス』(森博嗣)
「ぐずついたメールサーバみたいに反応が遅い」会話のテンポという表現に受けた. 確かによく落ちる某メールサーバみたいだと嫌だな.
11月14日_
みんなでいった居酒屋のビールがやけに薄い. 『ビールをストレートで』って注文しようかって(しなかったけど).
11月13日_
ターゲットのソースをVC++でコンパイルしようとしたら, テンプレート周りでこけたのでさっさと諦めて.NETですることに. で, Releaseだと何も修正せずにビルドできたけどDebugだとリンクエラーになるのがよう分からん. とりあえず正しく動作はしてるっぽいので作業続行. つっか1時過ぎてる. 寝よう.
11月12日_
・引き続き頭痛い.
・MSDNの契約期間が切れたけど更新せず.
・GMPをWindows上で使ってみたくてMinGWを入れてやり始めていたところで 友達からA Native GMP Port Using Microsoft Visual Studioを教えてもらう. NASMは午後で使ってるやつじゃだめだったので最新版をとってきてコンパイル. .NET2003でdllを作ってVC++でサンプルコードを書いたら無事動作. もっとテストしないと分からんけどよさそうな感じ.
11月11日_
・友達に借りた『グロタンディーク 数学を超えて』(山下純一)
わたしゃグロタンディークはフランス人だと勘違いしてました.
・頭痛い. 数カ月ぶりのフリークライミングで手も痛い.
11月10日_
テンプレートが使われているコードや, 複雑な計算をしていたプログラムがちゃんとコンパイルできるようになった. めでたし.
11月9日_
・何年も住んでいて住民税を払っていて結婚もしてたとしても, なんで外国人は選挙権がないんだろう. 不法滞在だからと杓子定規に一家離散させようとする判決もそうだけど情けない.
・gccを2.95.3から3.3.2にバージョンアップ中. うまくできるといいな(既に一回失敗している(^^;).
11月4日_
Japanist2003がamazonで安く売られていたので思わず買ってしまう. これでIMEからおさらばできるかな. 親指シフトエミュレーションは流石本家. 殆ど違和感が無い.
11月3日_
・頭痛~~い.
・軽めの本を立て続けに5冊ほど読む. 『目を擦る女』(小林泰三)収録の「予め決定されている明日」. IP over MIMEみたいな馬鹿馬鹿しさがよい(←褒めてる).
11月1日_
・神戸大学におじゃまする. 坂が多くてびっくり. 夜景がきれい.
・Cの複数ファイルに宣言された外部リンケージを持つ変数はリンクエラーにならない(どれか一つを除いてextern宣言される?).
昔調べてへぇ~って思ったが忘れていた. 規格上はどうなのか知らないけどBCC/VC6/VC7/gcc/で確認. 確かLinuxのカーネルコンパイル時にはそれを防ぐために-fno-commonオプションがついている.
10月
御意見は光成滋生<herumi@nifty.com>までお願いします