MSVCRT40.DLL
Tim Peacock -- tim.peacock@isltd.insignia.com Tuesday, November 19, 1996 Environment: VC++ 4.1, NT 3.51 i have a DLL which does not use MSVCRT40.DLL. However, the imports section of the DLL shows that _initterm is imported. This appears to be what calls the DLL entry point. We don't want this (apparently) pointless dependency. Can i safely remove MSVCRT40.DLL from my build and explicitly give my library's entry point to the linker? We really don't understand why MSVCRT40 is included in every image built by MSVC regardless of whether or not it is used. We want to be rid of it because we are building low-level system components and a faulty upgrade of (say) MSVC might leave us with a system onto which nobody can log. TIA, tim.
Mike Blaszczak -- mikeblas@nwlink.com Thursday, November 21, 1996 At 18:22 11/19/96 +0000, Tim Peacock wrote: > Environment: VC++ 4.1, NT 3.51 > i have a DLL which does not use MSVCRT40.DLL. However, the imports > section of the DLL shows that _initterm is imported. Then there must be some code that references it, someplace, even if you've not explicitly called that code. > This appears to > be what calls the DLL entry point. We don't want this (apparently) > pointless dependency. The dependency has a reason to be there; you've told the linker or compiler to rely on that code, somehow--maybe implicitly. Maybe you've specified bad options to the compiler or linker. > We really don't understand why MSVCRT40 is included in every image > built by MSVC regardless of whether or not it is used. It isn't: this simply isn't true. It's only referenced if you use /MD or /MDd when you compile modules in the program. If your goal is really to avoid the runtime libraries, you shouldn't specify _any_ /M?? option, and you should use /Zl. > TIA. BMAHT. TIA. (By the way, what's this got to do with MFC?) .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.
| Вернуться в корень Архива |