64コンパイラの開発スタート
abdev 9月 15th, 2005寝る時間を惜しんでまで、64ビットネイティブEXEのPEヘッダと格闘しています。第一ラウンドはなんとか勝ち越せそうなのですが、どうもWin64の関数呼び出しに戸惑いそうな雰囲気…。
Win64の規約って、変に速さを意識しているのか、デフォルトでレジスタを使ってるんすよね。_fastcallみたいな感じf(–)。
そんなことより、アセンブルコードをきちんとトレースできるデバッガを仕入れようと思います。Windows XP x64 Editionの上では、VC6.0のデバッガは無力です(ホント、トホホです)。←肝心の64ネイティブコードのデバッグができません。おいらは持ってないんで詳しいことはわからないんですが、VC.NET 2003に変えれば、ここらへんのデバッグサポートはきちんとしているんでしょうか?今現在はVS2005 Express Editionでなんとか踏ん張ってます。
まずは痒いところまで手が届くような、高機能デバッガでも探してみないと始まらないっすね。これいいよ、みたいなのがあったら教えてくださいm(__)m
9月 16th, 2005 at 11時15分37秒
こんなの見つけました↓http://www.microsoft.com/whdc/devtools/debugging/install64bit.mspxうちには64ビット環境がないので、使ったことないですが…
9月 16th, 2005 at 23時22分35秒
おっつ、WinDbg(x64)はブログを書いた直後にインストールしてバリバリ使ってたりします。ちょっとクセありか!?
9月 17th, 2005 at 23時11分11秒
確かにGNUのgdbとか、DOSのdebugなどを使った経験がないと扱いづらいですね。ただ、慣れてしまえばこれ一つでデバッグ作業はどんなことでも一通りこなせるようになります。設計上、リバースエンジニアリング(解析)には向かないのがやや難点です。> Win64の規約って、変に速さを意識しているのか、デフォルトでレジスタを使ってるんすよね。_fastcallみたいな感じf(–)。僕はこれは画期的なことだと思っています。AMD64の規格では従来の8個の汎用レジスタ(使えるのは実質6個)に加えてさらに8個も増えたので、それだけレジスタ管理に余裕が持てると言うことです。処理効率の向上を目指すのならば、これを使わない手はありません。ここでお話しするようなことではありませんね、失礼しました (^^;ともあれ、今後のABの継続的な躍進に期待しています。