Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
nizovtsevnv
6 лет назад

Работа с командной строкой в языке Ada

Ada 2012

Пакет Ada.Command_Line реализует следующие функции для работы со значениями аргументов командной строки:

  • возврат количества аргументов командной строки в виде N >= 0
  • возврат значения любого аргумента в виде строки
  • возврат имени файла программы в виде строки

Функция Argument_Count

Возвращает количество переданных в программу аргументов если они доступны, иначе возвращает 0. Сравнительно с языком C эта функция возвращает argc - 1.

Параметры вызова функции: нет.
Тип возвращаемых данных: Natural.

Функция Argument

Возвращает значение аргумента переданного в программу по его порядковому номеру. В отличие от реализации argv в языке C где возможно получить имя файла программы, используя индекс 0, данная функция нумеруется с 1 до Argument_Count и возвращает исключительно значения аргументов так, что argv[N] = Argument(N). При указании недопустимого индекса функция вызывает исключение Constraint_Error.

Параметры вызова функции: N : Positive.
Тип возвращаемых данных: String.

Функция Command_Name

Возвращает имя файла программы если это допускает ОС, аналогично конструкции argv[0] в языке C.

Параметры вызова функции: нет.
Тип возвращаемых данных: String.

Процедура Set_Exit_Status

Устанавливает статус завершения программы.

Параметры вызова процедуры: Code : Exit_Status.

Тип Exit_Status

Тип реализующий Integer константы: Success (с фактическим значением 0), Failure (с фактическим значением 1) для возврата статуса завершения программы.

Использование аргументов командной строки в библиотеках Ada в составе программ на других языках

Если основная программа реализована не на языке Ada, то необходимо инициировать значения для аргументов используемых из библиотеки на языке Ada вручную. Для примера в языке C такая инициализация выглядит так:

main(int argc, char **argv, char **envp) {
  extern int    gnat_argc;
  extern char **gnat_argv;
  extern char **gnat_envp;
  gnat_argc = argc;
  gnat_argv = argv;
  gnat_envp = envp;

  adainit();
  adamain();
  adafinal();
}
0
0.000 GOLOS
На Golos с October 2017
Комментарии (0)
Сортировать по:
Сначала старые