2008-04-06から1日間の記事一覧

RubyでHSPのオブジェクトファイルのインスペクタを作り中

TYPENAMES = %w( TYPE_MARK TYPE_VAR TYPE_STRING TYPE_DNUM TYPE_INUM TYPE_STRUCT TYPE_XLABEL TYPE_LABEL TYPE_INTCMD TYPE_EXTCMD TYPE_EXTSYSVAR TYPE_CMPCMD TYPE_MODCMD TYPE_INTFUNC TYPE_SYSVAR TYPE_PROGCMD TYPE_DLLFUNC TYPE_DLLCTRL TYPE_USERD…

Cの構造体のメンバのオフセットとサイズを簡単に得る方法ないかなぁ

いちいち C で HSPHED hsphed; printf( "<%d>\n", (int)&hsphed.pt_cs - (int)&hsphed ); とか、 printf( "<%d>\n", (int) (&(((HSPHED *)0)->pt_cs)) ); とか(後者は今日知った)して調べるのは面倒すぎる。

strmidやinstrの第一引数が変数固定なのは

HSP

きっと任意の式を許すと文字列のコピーが必要になって処理速度が低下するから。 後ろのパラメータの値を取得するときに同じ領域に書き込まれてしまう。 うーん、なんだかなぁ。 - 実際、後ろにパラメータが続く文字列パラメータの取得にはstrncpyを使って文…