This is the mail archive of the
cygwin@sourceware.cygnus.com
mailing list for the Cygwin project.
Re: mingw32 DLL getting main args?
- To: "Colin Peters" <colinp at ma dot kcom dot ne dot jp>
- Subject: Re: mingw32 DLL getting main args?
- From: Mumit Khan <khan at nanotech dot wisc dot edu>
- Date: Sun, 31 Oct 1999 09:14:48 -0600
- cc: "GNU-win32" <cygwin at sourceware dot cygnus dot com>, uf657 at victoria dot tc dot ca
"Colin Peters" <colinp@ma.kcom.ne.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@sourceware.cygnus.com