知らなかったWindows用ショートカット
WindowsキーがCtrl+Escで代用できることは前から知っていたのですが、 まさか「Shift+F10」がアプリケーションキーになるとは・・・つまり、Shift+F10は、右クリックのショートカットってわけですね。
ショートカットって便利ですよね。というか、ないと困る。
それと、最近知ったのが、Vista限定ですが、 「Windowsキー+数字」というショートカット。これをすると、 クイック起動バーの押した数字番目が起動します。こんなショートカットキーがあったとは!
size_t型をprintfで表示するときは
sizeだから、unsignedだろう。だから、"%u"で出力できるだろうと思っていたら、32bitから64bitに移植した時にエラーだらけに。
size_t型をprintfやsprintfで表示するときには、"%zd"のように、"z"を使えばいいらしい。知らなかった。
printf("size=%zd\n", sizeof(char *));
ちなみに、uint64_t型を表示するときには、
printf("value64=%"PRIu64"\n", (uint64_t) value64);
のように、PRIu64というマクロを利用します。
うーん、知らないとこれは分かりませんよね。
Effective C++ 原著第3版 (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)
C実践プログラミング
C言語逆引き大全 500の極意
C言語のfree関数の内部でエラー
eclipseでC言語のプログラムをデバッグ実行してみるとfree関数の内部でエラーを起こしているようでした。スタックトレースはこんな感じ。
Thread[1](Suspended: Signal 'SIGABRT' received. Description: Aborted.)
14 _kernel_vsyscall() 0xb7f4a410
13 raise() 0xb7e02085
12 abort() 0xb7e03a01
110xb733ab7c
100xb7e42a85
9 free(9 0xb7e754f0
...
はて、何でだろう。二重にfreeしてるのか?とも思いましたが、そうではなかったみたいです。
問題のコードはだいたいこんな感じ
char *str = (char *) malloc(sizeof(char) * 4; char *str2 = NULL; strcpy(str, "abc"); str2 = str + 2; free(str2);
なんかだいぶ適当な例ですが、ポイントは、mallocから受け取ったアドレス(str)から ずれたアドレス(str2)でフリー使用としているということです。
フリーで渡すべきポインタ型の変数はmallocで確保したメモリ領域の先頭である必要があるので、そのメモリ領域の途中をfree関数に渡してはいけません。っていうことみたいです。
大したことじゃないんですけど、デバッグって大変ですね。っていうことです。
実践 デバッグ技法 ―GDB、DDD、Eclipseによるデバッギング
Debug Hacks -デバッグを極めるテクニック&ツール
C言語 デバッグ完全解説 (Gihyo Technology)
Windows Live Messenger で エラーコード80080005が出てログインできない時の解決方法
Windows Live Messenger Version 2009(Build 14.0.8064.206)で、Microsoft Updateをやったりした後、突然ログインができなくなってしまいました。
そのとき表示されたエラーメッセージ:
Windows Live Messenger にサインインできません
サービスが一時的に利用不可のため、Windows Live Messenger にサインインできませんでした。後でもう一度やり直してください。
詳細情報の表示...
エラー コード: 80080005
サービスが一時的に利用不可ということで、サーバの問題かと思いきや、 いつまでたってもログインできませんでした。
JDK6 update 14 リリース
http://java.sun.com/javase/ja/6/download.htmlここから、最新版のJDKとJRE 6 update 14がダウンロードできます。
前回はupdate 13が出たという話をしました。
そこで書いたことをまるまる引用。
ということで、超初心者向けJavaプログラミングの環境構築法のページを書き直さなければ… 最初のダウンロードページの 「Java SE Development Kit(JDK)6 Update 12」を「JDK 6 Update 14」に読み替えてもらえばそれ以降は大丈夫かなーと… 極力書き直したくない・・・時間かかるので。
で、いったいJava7はいつ頃…。完全にC#に"言語の機能的には"おいて行かれてるように感じてしまいます。しかし結局のところ、安心感・定番感のあるJavaとしては、あんまり新機能をほいほい入れるわけにも行かないんですかね…というか、Javaから見れば、C#の存在自体は敵じゃないんでしょうね。
増補改訂版Java言語で学ぶデザインパターン入門
Effective Java 第2版 (The Java Series)
徹底攻略 Java2 プログラマ問題集