haker_fox 60 31 декабря, 2018 Опубликовано 31 декабря, 2018 · Жалоба Коллеги, с наступающим Новым Годом!!! Порекомендуйте хорошую библиотеку, лёгкую, но "серьёзную" для парсинга параметров командной строки. Желательно в стиле "nix" систем: поддержка коротких и длинных аргументов, комбинация коротких вместе и т.п. Библиотека желательно должна сама парсить, например, числовые параметры. Я перерыл github, но мне попались какие-то скудные примеры библиотек. Буду признателен за возможные варианты. Да, библиотечка должна быть нетяжёлой (есть планы компилить её для cortex-m0 с 64 кБ флэш и 8 кБ озу). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 60 31 декабря, 2018 Опубликовано 31 декабря, 2018 · Жалоба И да!!! Поймите правильно, я знаю, что можно самому написать... но время не хочется тратить на то, что за несколько десятилетий другие могли сделать так качественно, что оно блестит как у кота... шерсть!!!))))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
one_eight_seven 3 31 декабря, 2018 Опубликовано 31 декабря, 2018 · Жалоба http://man7.org/linux/man-pages/man3/getopt.3.html Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 60 31 декабря, 2018 Опубликовано 31 декабря, 2018 · Жалоба 2 hours ago, one_eight_seven said: http://man7.org/linux/man-pages/man3/getopt.3.html Предлагаете getopt взять? Я смотрел её, она мне показалось тяжёлой, для Cortex-M0, по-крайней мере. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
arhiv6 14 31 декабря, 2018 Опубликовано 31 декабря, 2018 · Жалоба Если не хочется по какой-то причине использовать getopt из <unistd.h>, на гитхабе есть много аналогов, в том числе максимально лёгких. Можно выбрать подходящий под вашу задачу: https://github.com/search?l=C&q=getopt&type=Repositories Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 60 31 декабря, 2018 Опубликовано 31 декабря, 2018 · Жалоба 37 minutes ago, arhiv6 said: Если не хочется по какой-то причине использовать getopt из <unistd.h>, на гитхабе есть много аналогов, в том числе максимально лёгких. Можно выбрать подходящий под вашу задачу: https://github.com/search?l=C&q=getopt&type=Repositories Скажем так... мне нужна рекомендация конкретной библиотеки или нескольких со словами: "использовал в 3000 году до н.э., впечатления такие-то, ограничения такие-то". То, что есть getopt я уже понял) Если других рекомендация не будет, буду разбираться с ней, или с одной из вашего списка, по рейтингу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Olej 0 11 января, 2019 Опубликовано 11 января, 2019 · Жалоба On 12/31/2018 at 1:34 PM, haker_fox said: То, что есть getopt я уже понял) getopt - это стандарт, POSIX. А все остальные "скажем так" и "советы от доброжелателей" - это будут пионэрские задрочки. В дополнение к getopt есть ещё getopt_long - это уже не стандарт POSIX, расширение, работающее с длинными и короткими опциями. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 60 24 января, 2019 Опубликовано 24 января, 2019 · Жалоба On 1/12/2019 at 1:36 AM, Olej said: это будут пионэрские задрочки. Вот который раз перечитываю ваше сообщение, и не могу понять смысл. Что вы предлагаете? Брать исходники posix'овского getopt'a и тащить в embedded? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 24 января, 2019 Опубликовано 24 января, 2019 · Жалоба 1 час назад, haker_fox сказал: Вот который раз перечитываю ваше сообщение, и не могу понять смысл. Что вы предлагаете? Брать исходники posix'овского getopt'a и тащить в embedded? А я который раз перечитываю Ваше и не могу понять: какую такую командную строку нужно парсить на cortex-m0 с 64 кБ флэш и 8 кБ озу??? Откуда она взялась на таком МК? Вы туда MS-DOS портировали? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 60 24 января, 2019 Опубликовано 24 января, 2019 · Жалоба 9 minutes ago, jcxz said: Откуда она взялась на таком МК? А разве на таком МК нельзя поднять интерпретатор команд, чтобы пользование консолью доставляло удовольствие? И вводить "красивые команды" вида start --daq --time_resolution 0.001 --time 1, а не использовать всякие команды в виде одной циферки и буковки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 24 января, 2019 Опубликовано 24 января, 2019 · Жалоба 12 минут назад, haker_fox сказал: А разве на таком МК нельзя поднять интерпретатор команд, чтобы пользование консолью доставляло удовольствие? И вводить "красивые команды" вида start --daq --time_resolution 0.001 --time 1, а не использовать всякие команды в виде одной циферки и буковки. Можно, только зачем? Если хочется давать устройству какие-то команды, то зачем на их синтаксис накладывать вынужденные ограничения, вызываемые синтаксисом командной строки больших ОС? Разбить строку на лексемы по пробелам (и другим знакам) - это так сложно, что нужно привлекать сторонние библиотеки, которые тянут ещё кучу другого функционала (хвостов), и потом героически бороться с этими хвостами??? Если нужен самокат, то нужно сделать самокат. А не брать мотоцикл и напильником удалять из него лишнее. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 60 25 января, 2019 Опубликовано 25 января, 2019 · Жалоба 7 hours ago, jcxz said: А не брать мотоцикл и напильником удалять из него лишнее Поэтому и задал первоначальный вопрос, в надежде не сделать самокат, а взять готовый. Не всё же самому делать, надо, чтобы и другие на тебя поработали)))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 60 25 января, 2019 Опубликовано 25 января, 2019 · Жалоба 7 hours ago, jcxz said: Можно, только зачем? Ответ прост: хочется! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 14 25 января, 2019 Опубликовано 25 января, 2019 · Жалоба Раздули проблему на пустом месте. getopt_long.c getopt_long.h Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 25 января, 2019 Опубликовано 25 января, 2019 · Жалоба 13 hours ago, haker_fox said: А разве на таком МК нельзя поднять интерпретатор команд, чтобы пользование консолью доставляло удовольствие? И вводить "красивые команды" вида start --daq --time_resolution 0.001 --time 1, а не использовать всякие команды в виде одной циферки и буковки. Так это называется Shell, а не командная строка. Shell - это строчный редактор, с памятью, автоподстановкой, интерпретатором и проч. Shell есть в каждой серьезной RTOS. Но я, кстати, Shell не люблю и не использую хоть он есть у меня в куче вариантов, нет должной интерактивности и интуитивности. Его реально делают под юзеров выросших в линуксе и не знающих что такое удобства цивилизации. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться