Command-Line Access (GNAT User’s Guide for Native Platforms)

#### 4.5.3 Command-Line Access ¶

The package `Ada.Command_Line` provides access to the command-line arguments and program name. In order for this interface to operate correctly, the two variables

    int gnat_argc;
    char **gnat_argv;

are declared in one of the GNAT library routines. These variables must be set from the actual `argc` and `argv` values passed to the main program. With no ‘n’ present, `gnatbind` generates the C main program to automatically set these variables. If the ‘n’ switch is used, there is no automatic way to set these variables. If they are not set, the procedures in `Ada.Command_Line` will not be available, and any attempt to use them will raise `Constraint_Error`. If command line access is required, your main program must set `gnat_argc` and `gnat_argv` from the `argc` and `argv` values passed to it.