delorie.com/archives/browse.cgi | search |
"Colin Peters" <colinp AT ma DOT kcom DOT ne DOT jp> writes: > > The reason DLLs call getmainargs to parse the command line list > is so that they can provide the MS-like _argc and _argv variables for > access by functions within the DLL. Check init.c, which is #included > (yuck) in dllcrt1.c. If you like you can remove the declarations from > stdlib.h and work up a DLL version of init.c to remove the dependency > of your DLL on the C run-time library. (I suspect this hasn't changed > in Mumit's version, I must admit I only checked my source.) > > I suppose the other reason I didn't worry much about this was that I > wasn't expecting people to write much DLL code without calling any > C library functions. We can actually avoid some of these issues by importing argc and argv from the CRTDLL and MSVCRT directly instead of providing static definitions created at startup. I believe that's what MSVCRT dynamic startup does, and Mingw currently provides the behaviour of static LIBC instead. It works of course, and that's probably the reason why it hasn't been a problem till now. I'll take a look at the DLL issue and see what we can do without breaking existing code. Colin, if you would like a newer snapshot, please let me know. Regards, Mumit -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |