tcl7.6 C API - Tcl_Main






NAME

     Tcl_Main - main program for Tcl-based applications


SYNOPSIS

     #include <tcl.h>

     Tcl_Main(argc, argv, appInitProc)


ARGUMENTS

     int               argc           (in)      Number  of   ele-
                                                ments in argv.

     char              *argv[]        (in)      Array of  strings
                                                containing
                                                command-line
                                                arguments.

     Tcl_AppInitProc   *appInitProc   (in)      Address   of   an
                                                application-
                                                specific initial-
                                                ization      pro-
                                                cedure.       The
                                                value   for  this
                                                argument is  usu-
                                                ally Tcl_AppInit.





DESCRIPTION

     Tcl_Main acts as the main program for most Tcl-based  appli-
     cations.   Starting  with  Tcl  7.4  it  is  not called main
     anymore because it is part of the Tcl library and  having  a
     function  main  in a library (particularly a shared library)
     causes problems on many systems.  Having  main  in  the  Tcl
     library  would also make it hard to use Tcl in C++ programs,
     since C++ programs must have special C++ main functions.

     Normally each application contains  a  small  main  function
     that  does  nothing but invoke Tcl_Main.  Tcl_Main then does
     all the work of creating and running a  tclsh-like  applica-
     tion.

     When it is has finished its own initialization,  but  before
     it processes commands, Tcl_Main calls the procedure given by
     the  appInitProc  argument.   This  procedure   provides   a
     ``hook''  for the application to perform its own initializa-
     tion, such as defining application-specific  commands.   The
     procedure  must  have  an  interface  that  matches the type
     Tcl_AppInitProc:
          typedef int Tcl_AppInitProc(Tcl_Interp *interp);

     AppInitProc is almost always a pointer to  Tcl_AppInit;  for
     more  details  on  this procedure, see the documentation for
     Tcl_AppInit.



KEYWORDS

     application-specific initialization, command-line arguments,
     main program