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.