Linuxのカーネルメンテナは柔軟なシステム (from @IT)
2.4カーネルにおけるIA-64のメンテナであるHP社のBjorn Helgaas氏へのインタビュー記事。メンテナとはどういったものか、企業とオープンソースの関わり、IA-64やEFIに関する技術的な話などなど。簡単にではあるが、そういったことが書かれています。
―― アプリケーションを64bit化するために、コードの修正は必要ですか? リコンパイルするだけでも構わないのでしょうか。
Helgaas:正しく書かれたアプリケーションは、Itanium上でリコンパイルするだけで64bitアプリケーションになります。しかしご存じのとおり(笑)、ほとんどのアプリケーションはそうではないため、うまくいきません。
32bitマシンではint(integer)、long、ポインタが同じサイズですが、64bitではintが32bit、longとポインタが64bitです。きちんと書かれていないコードは、これが問題になります。
longの変数をprintf()の引数にするときなども注意が必要ですよ。