Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: NEW VERSION OF TSCP (1.5)

Author: Dann Corbit

Date: 13:48:54 02/14/00

Go up one level in this thread


On February 14, 2000 at 16:05:54, Tom Kerrigan wrote:
>On February 14, 2000 at 15:23:21, Daniel Clausen wrote:
>
>>1. You changed "int main()" to "void main()" for a reason unknown to me.
>>   Afterall the first version is the correct one. :) (The Mac-Compiler gives
>>   an error for "void main()" in strict-mode.
>
>Hmmm. I've never seen anything that says that main HAS to return an int, but I
>will change it back to int to make the compiler happy. =)

5.1.2.2.1  Program startup

[#1]  The  function called at program startup is named main.
The implementation declares no prototype for this  function.
It  shall  be  defined with a return type of int and with no
parameters:

        int main(void) { /* ... */ }

or with two parameters (referred to here as argc  and  argv,
though  any  names  may  be  used,  as they are local to the
function in which they are declared):

        int main(int argc, char *argv[]) { /* ... */ }

or equivalent;8)  or in  some  other  implementation-defined
manner.

[#2]  If  they  are  declared,  the  parameters  to the main
function shall obey the following constraints:

  -- The value of argc shall be nonnegative.

  -- argv[argc] shall be a null pointer.

  -- If the value of argc is greater than  zero,  the  array
     members  argv[0]  through  argv[argc-1] inclusive shall
     contain  pointers   to   strings,   which   are   given
     implementation-defined  values  by the host environment
     prior to program startup.  The intent is to  supply  to
     the  program  information  determined  prior to program
     startup from elsewhere in the hosted  environment.   If
     the  host  environment  is  not  capable  of  supplying
     strings with letters in both uppercase  and  lowercase,
     the  implementation  shall  ensure that the strings are
     received in lowercase.

  -- If the value of argc is greater than zero,  the  string
     pointed  to  by  argv[0]  represents  the program name;
     argv[0][0] shall be the null character if  the  program
     name  is  not  available from the host environment.  If
     the value of argc is  greater  than  one,  the  strings
     pointed  to  by  argv[1] through argv[argc-1] represent
     the program parameters.

  -- The parameters argc and argv and the strings pointed to
     by  the  argv array shall be modifiable by the program,
     and retain their  last-stored  values  between  program
     startup and program termination.
[snip]




This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.