Re: DOS program recording it's parameters and environment?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


On Thu, Feb 16, 2012 at 4:01 PM, Paul Crawford <psc@xxxxxxxxxxxxxxxx> wrote:
> Dear Frantisek,
>> compiler v1.9 ( for DOS. And there I knock
>> to problem - it seems as this compiler not support construction:
>> int main(int argc, char *argv[], char *envp[])
> I think this 3rd argument may be a MS-specific extension, as most C programs
> just have argc & argv in the call to main();

This is not actually MS-specific; I see it in my execve(2) manpage
here on Linux, and
<> says "Unix
(though not POSIX.1) and Microsoft Windows have a third argument
giving the program's environment". (I was actually a little surprised
to see that it wasn't POSIX.)

GNU's says so, too:

>    In Unix systems you can define `main' a third way, using three
> arguments:
>      int main (int ARGC, char *ARGV[], char *ENVP[])
>    The first two arguments are just the same.  The third argument ENVP
> gives the program's environment; it is the same as the value of
> `environ'.  See Environment Variables.  POSIX.1 does not allow this
> three-argument form, so to be portable it is best to write `main' to
> take two arguments, and use the value of `environ'.
To unsubscribe from this list: send the line "unsubscribe linux-msdos" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at

[Index of Archives]     [Linux Console]     [Linux Audio]     [Linux for Hams]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite Camping]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Samba]     [Linux Media]     [Fedora Users]

  Powered by Linux