- 235 名前:225 mailto:sage [2006/01/28(土) 14:57:27 ]
- >>234 の続き
1.A.EXE: BCB5 で作成、B.DLL: VC6 libcmt.lib で作成 2.A.EXE: BCB5 で作成、B.DLL: VC6 msvcrt.lib で作成 3.A.EXE: BCB5 で作成、B.DLL: BCB5 で作成 結果: 1:DllMain で DisableThreadLibraryCalls を呼ぶとメモリリークする (test を呼ぶ度にメモリ使用量が増える) DllMain で DisableThreadLibraryCalls を呼ばなければメモリリークしない (test を何回呼んでもメモリ使用量は変わらない) 2:DllMain で DisableThreadLibraryCalls を呼んでも呼ばなくてもメモリリークしない 3:DllMain で DisableThreadLibraryCalls を呼んでも呼ばなくてもメモリリークする ちなみに void foo(void) { char* dummy = (char*)malloc(128);// char *dummy = new char[128]; free(dummy);// delete[] dummy; } の場合、どの場合においてもメモリリークしない
|

|