2004年01月05日
chkesp.c のアサート
VC++6.0 で、次のようなアサートが出た。
Module:XXXXX
File: i386\chkesp.c
Line: 42
The value of ESP was not properly saved across a function call.
This is usually a result of calling a function declared with one calling conversion with a function pointer declared with a different calling conversion.
DLL の関数へのポインタを GetProcAddress で取得したときに、型が間違っていたのが原因っぽい。
今回は WINAPI を抜かしてしまった。初めてであったアサートなだけに驚いてしまった。