dll collision
Hieu Nguyen -- Hieu_Nguyen@cpqm.mail.saic.com Tuesday, July 23, 1996 8:21 AM 7/23/96 Environment: VC++4.2, NT4.0beta2( build 1314 ) hi, I got the message following when run my prog. under debug mode: LDR: Dll MSVCIRTD.dll base 10200000 relocated due to collision with C:\WINNT35\System32\MSVCRTD.dll does any one know what is the cause? I did not get the message when working on VC++4.1 or 4.0. Thanks in advance.
Tim Hagemann -- 100063.323@compuserve.com Friday, July 26, 1996 [Mini-digest: 3 responses] Hieu, Both dll's should be loaded at 10200000 in a process address space. Because only one dll can be loaded threre, the windows loader has to relocate a dll, which takes some time - a performance loss, but no "real" error. Tim Hagemann ifa informationssysteme fuer Augenaerzte The original mail was : From : "Hieu Nguyen" Sent : 1996/07/26 10:25 To : INTERNET:MFC-L@NETCOM.COM CC : Subject : dll collision Environment: VC++4.2, NT4.0beta2( build 1314 ) hi, I got the message following when run my prog. under debug mode: LDR: Dll MSVCIRTD.dll base 10200000 relocated due to collision with C:\WINNT35\System32\MSVCRTD.dll does any one know what is the cause? I did not get the message when working on VC++4.1 or 4.0. Thanks in advance. -----From: ScotYou can change this with a linker option - something like 'base'. We're seeing it lots more here too, I think MSFT changed the default or something. We just pick a higher number and go with it, but someone mentioned to me there's a list of 'reserved' DLL starting addresses somewhere.. HTH, -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- =-=-=-= Scot Wingo Stingray Software - http://www.stingsoft.com Sales - sales@stingsoft.com Support - support@stingsoft.com -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- =-=-=-= -----From: Barry Tannenbaum When a DLL is produced for NT, it can be given a "preferred" load address. When the DLL is loaded, if that address is available, the image is simply mapped into memory; no address fixup need to be done for string constants, globals, routines, etc. If the preferred address is *not* available, the loader has to go through the DLL and "fixup" references within the DLL for string constants, routines, etc. Obviously this takes time to do. MSVC is warning you that you have a potential startup performance problem. - Barry -------------------------------------------------------------------------------- 3DV Technology, Inc Phone: (603) 595-2200 X228 410 Amherst St., Suite 150 Fax: (603) 595-2228 Nashua, NH 03063 Net: barry@dddv.com
| Вернуться в корень Архива |