コンパイラを疑う前に

「~自分のプログラムを100回疑え」。大学でC言語を勉強していたときの先輩の言葉です。

別にこれはどの言語でも当てはまる事なのですが、特に(.NETを除く??)C/C++言語は実行時に変数型や値のチェック、自動型変換などほとんどやってくれないため、高速で曲芸的なことをするプログラムが書ける一方奇妙なバグを生みやすく、また奇妙ゆえ原因も分かりにくく、ついコンパイラやライブラリに問題があるのではないかと疑いたくなります。

しかしマイナーな製品ならともかく、MicrosoftやGNUのコンパイラ・ライブラリは出荷前はもちろんの事、出荷後も世界の多くの人が使用して動作を確認しているわけでして、そう頻繁に問題に出くわすわけはない。99%自分の書くプログラムに問題があるはずだから何回でも見直しなさい、というのが上の言葉の解釈です。

今日はTclLink から呼び出されるコマンドのWindows DLLをVisual Cで書いていたのですが、実行するたびに使用メモリが増えていく、いわゆるメモリーリークに悩まされていました。使用メモリの大きさから、この部分のメモリが解放されなければ計算上はつじつまが合うというのは目処をつけたのですが、解放する処理は行われているはずでなぜ解放されないのか分からない。Tcl拡張コマンド用DLLという特殊な物でもあり、なにかメモリを解放するライブラリにバグがあるのではと頭をよぎったのですが・・・

やっぱり私が悪うございました orz

別の箇所でまったく同じ量のメモリを確保していて、そちらを解放していなかったというお粗末な内容。

ちなみに私の経験の中で自分のプログラムが悪くなかった(と思う)のは、Windows 95のTrueTypeを描画するAPIだけです。まったく同じプログラムをWindows NTで実行したら何の問題も無かったので・・・

— posted by mu at 10:11 pm   commentComment [0]  pingTrackBack [0]

Windows 7βを入れてみた

Windows7-Desktop

Windows 7を入れるにはVistaが動くマシンの方がいいのでしょうが、手持ちのそれはDell Vostro 1500ノートPCであり、HDD交換が面倒 & メインマシンの停止を意味するため、AthlonXP 2100+/768MB DDR RAM/GeForce 6800のデスクトップマシンに入れることに。

とりあえずインストールは問題なく完了。Vista世代から見ればかなり性能の劣るマシンですが、スワップの嵐ということも無くAeroデスクトップで動いてます。グラフィックドライバはWindows 7専用が必要らしく、nVidiaの場合はWindows Updateをかければインストールされます。

現時点気になったのは、
  • IEでページをスクロールさせたりウィンドウサイズを変更するとページ表示がちらつくこと。Vostro 1500のVistaではそんなことは無く滑らかですので、マシンの性能不足かWindows 7がβなせいだと思います。(2009/1/13 追記: トラブル後再起動したら気にならないレベルになりました)
  • ウィンドウを画面の端のほうに持っていくと枠が現れ、マウスボタンを離すとその枠の形にウィンドウが整形されてしまうこと。画面端にウィンドウをきれいに収める機能なのでしょうが、どうも余計なお世話。これはどこかの設定で変更できるでしょう。

nTuneLink 入れようとしたら、Install Shieldが起動中にOSごと無反応になってしまったので、今晩はここまで。

[2009/1/11 追記] どうもPC自体が古くなって不安定になっているらしい。もう一度nTuneインストールに挑戦したらすんなり入ったのですが、その後エクスペリエンス インデックス測定中に再びハングアップ、以後起動すらしなくなりました orz

[2009/1/12 追記] またメモリの接触が悪くなっていた模様。コネクタに問題があるのでしょうか。挿し直して現在Memtest86で確認中。

[2009/1/13 追記]
  • PSULink 動かず。おそらくGameGuardLink のせい。
  • nTuneはインストールできるものの、nVidiaコントロールパネルにクロック変更の項目が現れない。
  • Aeroデスクトップのサムネイル機能(画面下タスクバーにマウスカーソルを置くとそのアプリケーションの縮小画面が表示される)が強化されてますね。あまり使わないけどVista SP2にも入れてくれないかなぁ。

[2017/1/21] 文中の年がすべて2008だったのを修正

— posted by mu at 02:03 am   commentComment [0]  pingTrackBack [0]

ロボットをカウンターから除外

これを書いている時点でこのブログの来訪者カウンターは158,103となっていますが、9割以上は検索ロボットであることは分かってました。ppBlogLink のページを見ると検索ロボットをカウントしない方法が載ってましたので、先ほど変更完了。これからは現実に近いカウントがされると思います。あとカウンターの桁数も6桁表示されるようにしました。

[参考]

[2009/1/14 追記] 東京大学 喜連川研究室Link をカウント対象外に追加

[2009/1/23 追記] トレンドマイクロLink をカウント対象外に追加、WEBロボットのネットワークアドレス一覧へのリンク追加。

[2009/12/27 追記] User agent 'CamelStampede'をカウント対象外に追加。検索エンジンらしいLink

[2010/7/24 追記] User agent 'Googlebot'をカウント対象外に追加。ログにはGooglebot-Mobileと。

[2010/11/30 追記] アドレス'compute-1.amazonaws.com'をカウント対象外に追加

— posted by mu at 03:21 pm   commentComment [0]  pingTrackBack [0]

帰宅

blog20090107-MiyakoMichiWaterArt

自宅に戻るために京都駅へ。京都駅というと北側烏丸口の伊勢丹界隈が最もにぎわっていますが、南側八条口新幹線の走っている真下にも店が並んでます。ただこちらは去年までかなり古臭さを感じる内容でして、伊勢丹ができてからはかなり客を奪われていた模様。去年夏あたりから閉鎖して改装していました。

今日行ってみると改装は終わったようで、結構きれいに。写真は巧みに調整しながら上から水を落とし、模様を描くもの。動画Link の方が分かりやすいかも。

私は5分ほど動画を撮ったのですが、その前からそして撮り終えた後も隣で撮影を続けている男性がいました。コンパクトデジタルカメラでは難しい(暗いので自動に任せるとシャッタースピードが遅い)と思うのですが、うまく撮れたでしょうか?

— posted by mu at 09:40 pm   commentComment [0]  pingTrackBack [0]

嫌がる人がいるのも分かる気がする

blog20090105-MasterForces

ちょこっと前の話ですが、画像を整理したら出てきたので。

PSULink で攻撃テクニック(魔法)系職業の最高峰としてマスターフォースがありますが、時々マスターフォースと同じチームになることを嫌う人を見かけます。テクニックは遠距離の敵に対して放つことが多く、遠くで炸裂しても威力があるように見せるために派手なグラフィックになりがち、剣など接近戦で戦う人にとっては目ざわり・処理が重くなるというのがその理由だとか。

特にグラフィック処理能力がPCほど高くないPlayStation2ユーザーではこれは深刻らしく、去年高レベルのテクニックを放っても他人の画面には中程度のグラフィックでしか表示されないように変更が入りました。それでも依然としてマスターフォースお断りの方は存在します。

攻撃テクニックが好きな私としては、なにもそんなに嫌わなくてもと感じていたのですが、去年行われたMaximum Attack G+で私以外が全員マスターフォースというチームに参加した時の写真がこれ。私が敵(ラッピー)の群れに突っ込んだところ、後方から残りの3人が闇テクニック・ラメギドを一斉に放射。このエリアは緑豊かな森のはずなのですが、一瞬自分の場所すら分からなくなる地獄絵図。PCの処理能力はそれなりにあると思ってたのですが、まぁこのときの重かったこと。もちろん上記のように中程度のグラフィックでしか表示されてないわけで、それでもこの重さ。そりゃ嫌がる人も出るかなと。

しかしこのチーム敵の撃破は速い。敵第一陣は5秒で粉砕。のんびりしたチームなら40分以上かかるこのミッションを20分足らずで終えてしまいました。恐るべし。

— posted by mu at 01:10 am   commentComment [0]  pingTrackBack [0]

T: Y: ALL: Online:
ThemeSwitch
  • Basic
Created in 0.0206 sec.
prev
2025.9
next
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30