В чем разница между argp и getopt? - PullRequest
7 голосов
/ 06 октября 2011

Я думаю, что название само за себя.Я делаю программу, и мне было интересно, что мне следует использовать, и почему.

Ответы [ 3 ]

12 голосов
/ 06 октября 2011

argp может быть более гибким / мощным / и т. Д., Но getopt является частью стандарта POSIX.Это выбор, который вы должны сделать, исходя из того, ожидаете ли вы, что ваша программа будет переносимой.

3 голосов
/ 06 октября 2011

Из руководства Argp :

Argp предоставляет функции, недоступные в более широко используемом getopt интерфейс. Эти функции включают в себя автоматическое создание выходных данных в ответ на параметры «--help» и «--version», как описано в Стандарты кодирования GNU. Использование argp снижает вероятность того, что программисты будет пренебрегать реализацией этих дополнительных опций или поддерживать их дата.

1 голос
/ 06 октября 2011

Мне нечего выбирать, я не думаю. Веб-страница Argp гласит:

Argp предоставляет функции, недоступные в более широко используемом getopt интерфейс. Эти функции включают в себя автоматическое создание выходных данных в ответ на параметры «--help» и «--version», как описано в Стандарты кодирования GNU. Использование argp снижает вероятность того, что программисты будет пренебрегать реализацией этих дополнительных опций или поддерживать их дата.

Argp также предоставляет возможность объединить несколько независимо определенных парсеры опций в одну, опосредуют конфликты между ними и делают результат кажется бесшовным. Библиотека может экспортировать парсер опций argp что пользовательские программы могут использовать в сочетании с их собственной опцией парсеры, в результате чего меньше работы для пользовательских программ. Некоторые программы может использовать только парсеры аргументов, экспортируемые библиотеками, тем самым достигая реализован последовательный и эффективный вариант разбора абстракций по библиотекам.

...