ThreadLocalStorage & MFC DLL
Murphy Lam -- Murphy_Lam@ccm.sc.intel.com Monday, October 21, 1996 Environment: Window NT 4.0, Windows 95, VC++ 4.2 I have an application that loads a bunch of DLLs, each of which performs a unique processing function. Both the application and the DLLs are written in MFC (and the DLLs are written as regular DLL). I ran into a problem when trying to load more than 29 DLLs. It ran out of Thread Local Storage slots (64 per process on both NT and 95) when trying to load the 30th DLL. Upon further investigation, it looks like each DLL is using up two of these precious TLS slots for MFC's internal housekeeping. And the number quickly added up to 64. Is there a way to get around MFC so no (or less) TLS slot is used by these DLLs? I do have a need to load that many DLLs. -- Murphy
Mike Blaszczak -- mikeblas@nwlink.com Wednesday, October 23, 1996 At 14:04 10/21/96 PDT, Murphy Lamwrote: >Environment: Window NT 4.0, Windows 95, VC++ 4.2 >Upon further investigation, it looks like each DLL >is using up two of these precious TLS slots for MFC's internal >housekeeping. And the number quickly added up to 64. Actually, MFC only uses one. The C runtimes use another. This issue is well-documented in the knowledgebase. >Is there a way to get around MFC so no (or less) TLS slot is used by >these DLLs? Other than avoiding the shared MFC DLL builds, no, there isn't. .B ekiM http://www.nwlink.com/~mikeblas/ I'm afraid I've become some sort of speed freak. These words are my own. I do not speak on behalf of Microsoft.
| Вернуться в корень Архива |