2008-01-01から1ヶ月間の記事一覧

Inspirion 6400 (Mobility Radeon X1400) に最新のビデオドライバを導入する

AMD(ATI) のサイトに最新のドライバが公開されているが、ノート PC の製造元のチェックがあり、Dell は対象外のため「製造元に問い合わせてください」とダイアログが出てインストールできない。しかし、Dell の公式のドライバは 303108 ATI Radeon Mobility …

TrueType レンダラで一文字だけ描画できた

Windows XP 標準の Arial Black (ariblk.ttf) を読み込んで解析して "G" を描画したところ。前に True Type のフォーマットを仕事で調べたときに最低限は試作したのだけど、今回ちゃんと俺ライブラリとして作り直しています(進行形)。残りタスクとしては、…

"administrator" "admin" というアカウントで Samba が接続できない

Fedora 8 の /etc/samba/smbusers/ に root = administrator admin という設定がデフォルトで記述されている。Windows 側のアカウントが "admin" の場合は注意が必要(←ハマった人)

root以外のeffective uidの放棄をしてみた

effective uid = root の完全放棄は setuid(newUid) とすれば real uid = effective uid = saved uid = newUid となるので二度と effective uid = root にすることはできなくなる。ところで root ではないが重要なアカウント(仮に 501)があったとして、その…

iostream か printf か

iostream か printf かの議論で、書きやすい/書きにくい、読みやすい/読みにくい、互換性と発散しがちだが、「脆弱性のチェックコストが大きいから iostream を利用する」といったセキュリティ面の理由だと納得しやすいかもしれない。

Windows で指定したウィンドウの並び替え

タスクバーで Ctrl を押しながら複数のウィンドウを指定することができる。その状態で右クリックで「重ねて表示」「左右に並べて表示」「上下に並べて表示」が選択できる。

Getter のインターフェイスのパターン

info_t GetInfo() const const info_t* GetInfo() const const info_t& GetInfo() const void GetInfo(info_t* info) const void GetInfo(info_t& info) const GetInfo()->a, GetInfo.a といった利便性が高い方が良い場合もある サンプリングとしての側面を…

gcc -Waggregate-return で出る警告

info_t getInfo() では関数側も呼び出し側も warning: function returns an aggregate warning: function call has aggregate value が出る (info_t& getInfo() ならば警告はでない)

型の幅以上の左シフトを試してみる

http://journal.mycom.co.jp/articles/2004/04/02/code/古い記事だけど、 この「1」が32bitのint型にキャストされたため「1 というのが気になった。てっきりシフトしすぎて0になるのかと思った。C99 規格を確認してみると整数拡張後の型の幅以上のシフトの結…

整数拡張と算術型変換をコンパイル結果で見てみる

C99 の整数拡張と算術型変換の「見える化」ってできないか〜と思い、何か境界条件などで整数拡張や算術型変換の有無が結果に表れてくる例がないか?と考えたけど思いつかなかった。gcc のコンパイル結果(アセンブリコード)を見ても IA-32 だと、 負の数は2…

Microsoft Word の「はがき印刷」で連名を追加する

http://allabout.co.jp/study/pcbasic/closeup/CU20071110A/index2.htm 連名の敬称はエクセル上で「連名の敬称」という列を作って、連名がある場合だけ「様」を入れておけばよい 連名の先頭にスペースを入れすぎると、「○○子」などの3文字以上の名前が切れて…