delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2004/09/10/14:30:47

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
In-Reply-To: <Pine.WNT.4.44.0409101230520.956-100000@drogers2k.spss.com>
To: "David A. Rogers" <darogers AT speakeasy DOT net>
Cc: cygwin AT cygwin DOT com, Dave Korn <dk AT artimi DOT com>
Subject: RE: cygwin 1.5.11: execv doesn't set argv[0] on Windows programs
MIME-Version: 1.0
Message-ID: <OF11317D53.7B086299-ON85256F0B.006544CE-85256F0B.0065AD2C@abinitio.com>
From: Chuck McDevitt <cmcdevitt AT ABINITIO DOT COM>
Date: Fri, 10 Sep 2004 14:30:35 -0400
X-IsSubscribed: yes

argv and argc are concepts from the C runtime, not the Windows OS.

The actual entry point to your program is to a routine that calls the 
initialization routines of the C library, then calls winMain.

Those initialization routines get the command line via Win32 call, 
allocates memory for argv, and parses the command line.

Windows itself has no requirement that an application support argv and 
argc, and in fact programs in other languages (VB etc) don't have any such 
concept.

Cygwin, when launching an application, just needs to make sure the 
CreateProcess call has the command line passed to it.
Everything else is handled by the the receiving program (via C runtime, if 
a C program).


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019