DLL 内の次のコードはどうなりますか?
#include <vector>
std::vector<int> global_vector;
BOOL WINAPI DllMain(HANDLE hModule, DWORD fdwReason, LPVOID lpReserved)
{
if (fdwReason == DLL_PROCESS_ATTACH)
{
global_vector.push_back(1);
}
return TRUE;
}
... /MD でコンパイルした場合 ? ベクトルのコンストラクターと push_back (つまり、メモリ管理、例外処理など) によって呼び出されるコードは、MSVCRT.DLL にあります。私の知る限り、この段階でマップされることは保証されていません。特別扱いされますか?