С другой стороны, есть проект libbsd .
Что касается совместимости с Linux на FreeBSD, в ней есть уровень поддержки Linux ABI, называемый Linuxulator. Возможно, вы сможете обозначить свое приложение как приложение для Linux, чтобы оно работало под Linuxulator.
Судя по справочной странице, это ожидаемое поведение. getopts
поддерживает «опции» и «аргументы опции -».
Рекомендация 4 :всем параметрам должен предшествовать -
. При этом ./getopts-test foo goo -a moo -b
не будет работать, так как «foo» не является ни опцией, ни аргументом опции -. Следовательно, он остановится.
Аргумент опции -определяется как " :". В вашем определении a:
является аргументом опции -, и он анализирует -a moo
, а b
просто и опция, которая анализирует -b
в ./getopts-test -a moo -b foo goo
. Остальные(foo goo
)просто остаются.
Рекомендация 8 :все аргументы для аргумента опции -должны быть представлены через одну запятую -через одну. Вот почему ./getopts-test -a moo foo goo -b
просто анализирует -a moo
. Правильный путь — ./getopts-test -a moo,foo,goo -b
. (то же самое относится и к вашему последнему делу)
Ссылка: