- 744 名前:デフォルトの名無しさん [2006/08/09(水) 18:55:44 ]
- >>733-734
どうして__declspec(thread)を外すなんて思考に行き着いたのかは知らんが、 そんなもんが付いてる以上は、それってTLSだろ? ブチ落ちてたのはDLLの中の話だったりしないか? ランタイムで後から読み込んだDLLの中で__declspec(thread)使ってると オブジェクトの内容なんか保証されないぞ。 msdn2.microsoft.com/ja-JP/library/2s9wt68x.aspx の一番最後のところだ。 __declspec(thread) char sz[1000]; BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) { for(int i=0; sizeof(sz)/sizeof(sz[0])>i; ++i) sz[i] = 0; return TRUE; } こんなDLLをLoadLibrary()するだけで落とせる。 落ちない可能性もあるが、いずれにせよsz周辺のメモリは確保なんかされてないので、 動いててもただの偶然だ。
|

|