VC6でおきたもの

i386\chkesp.c
ESP の値が関数呼び出しの間に正しく保存されませんでした。…以下略


Exeで使用しているDLLのバージョンが違ったことが原因。
作っているアプリは複数のExeが、DLLを使用して動作しているんだけど、そのうちの一つで
使用しているDLLのlibファイルもしくはDLL読み込み用のヘッダの定義が古かったです。


DLLでoutput(int a,int b)で実装していたので、あるexeだけoutput(int a)で呼び出していた感じです。
そのため、呼び出し規則の一貫性が守られなかったようです。


参考サイト
http://msdn.microsoft.com/ja-jp/library/dd296815.aspx


それにしても、仕事ではいまだにVC6を使っています。
今時こんなこというのもなんですが、
.netフレームワークって、どうなんですかね。
Win32のアプリを作るなら、Microsoft Windows SDKがいるそうですが、
最近のvisual stdioはMFCも進化したのでしょうか?


趣味でのプログラムはAS3.0に移行しました。
ツールもjavaとかAir,Flexのほうがネットとの親和性も高いですし
そっちのほうを使う方向しようかなーと思っています。