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

JNIのデバッグ

Javaのネイティブライブラリのデバッグっていままで面倒かも?と思っていたけど、実は簡単だった。 dllをデバッグ版で作成 Javaのアプリケーションを起動 デバッガをJavaのプロセス(java.exe)にアタッチ デバッガでブレークポイントを張る ブレークポイント…

gccのインラインアセンブラ

最適化や特権モード命令を使用するときは、アセンブラでコードを書きたくなる。でも、分岐とかループが面倒で...というときのインラインアセンブラ。gccについては以下のページが入門として参考になりました。http://caspar.hazymoon.jp/OpenBSD/annex/gcc_i…

Windows Vista ftpコマンドのバグ

ときどきコンソールでftpコマンドを使うのだけど、Vistaのftpのlcdコマンドは文字が化ける。がっかり。 ftp> lcd aa aa: ユ0。0、0・L0級d0K0・~0[0・

Makefileの構文

Makefileの文法を忘れないようにまとめ。主な情報源はhttp://www.ecoop.net/coop/translated/GNUMake3.77/make_toc.jp.html ルール構文 ターゲット名:依存関係 <TAB>コマンド 変数構文 マクロとも言われる 代入 変数名=値 参照 $(変数名) 条件分岐構文 変数の内容</tab>…

配列へのポインタ

C言語で配列へのポインタなんてないと思っていたら、実はあった。たとえば、6個の要素をもつint配列へのポインターは以下のとおり。 int ary[] = {1,2,3,4,5,6}; int (*pAry)[sizeof(ary)/sizeof(int)] = &ary;この配列のポインタを引数にとる関数は以下のよ…

SIMD演算

C言語でSSEやSSE2を使う方法について。ポイントがいくつかあります。 xmmintrin.hやemmintrin.hをインクルードする SSE命令のみならxmmintrin.h、SSE2命令も使うならemmintrin.h SIMD命令でアクセスするメモリは16バイトアラインメントにする gccの場合、_mm…

Windows Vista

自宅のPCでVistaを使い始めて一週間。Vistaがメモリ食いなのは本当のようだ。ページファイルのサイズを比較するとXPでは初期状態で500MBもいかないのに対して、Vistaでは最初から1GBを超えてしまう。ただしVistaの場合、メモリ管理がうまくできているらしく…

Wake on directed packet

夜中にWindows Vistaのスリープ状態から勝手に復帰すると思っていたらネットワークアダプタの設定が原因だった。使っているネットワークアダプタ Intel 82566DC-2には「電源の管理」のところに「Wake on directed packet」という設定があり、これがONだとpin…

通算日計算

http://ja.wikipedia.org/wiki/%E4%BF%AE%E6%AD%A3%E3%83%A6%E3%83%AA%E3%82%A6%E3%82%B9%E6%97%A5:Title 修正ユリウス通日のアルゴリズムをC言語で表すと以下の通り。 int days2(int year,int month,int day){ if (month < 3){ year --; month = month + 12…