銀月の符号

Python 使い見習いの日記・雑記

今日のバグ

Python/C API でクラスオブジェクト実装中のこと。実行時エラーに30分ほど苦しんだあげく発見(型名、メンバは変えてある)。

typedef struct {
    int spam;
    PyObject_HEAD
    int ham;
    int eggs;
} spam_object;

PyObject_HEAD マクロの上にメンバを定義してあるという、しょんぼりなバグ。そりゃ動くわけない。

2.5 日本語 Python/C/API リファレンスマニュアル 10.3 型オブジェクト (2.6 Python/C API Reference Manual Type Objects) とにらめっこ中の Python/C API 初心者なもんで、コンパイル通ったのに動いてくれないと大混乱。