ep
ep
C:\Temp\po_build\Release>po -p 1 2 3
1 2 3
C:\Temp\po_build\Release>po -p -1 2 3
-1 2 3
C:\Temp\po_build\Release>po -p -1 -2 3
An exception occurred while parsing the command line:
unrecognised option '-2'
🦥Alex Fails
А что это за хрень
ep
https://dpaste.de/kNpr
🦥Alex Fails
Мммм...
ep
Я так понимаю, не исправлен в последней версии? У нас в проекте 1.60
ep
Понятно, спасибо.
ep
Да, отправлю.
ep
Это хорошо! Я тоже удивлён, что никто не сообщил ранее об этом.
ep
Ага, через гитхаб удобнее чем через список рассылки.
ep
О, спасибо! Полезный сервис.
ep
https://github.com/boostorg/program_options/issues/33
ep
Спасибо!
Berkus
ep
потому что - это начало другой опции, заверни все в кавычки например --point="-1 -2 -3"
Кавычки - это первое, что мы проверили. Я согласен, что тут есть некоторая неоднозначность в синтаксисе команды, но это не повод ломаться. Такую ситуацию вполне можно обработать корректно, так как список имён всех параметров парсеру известен. Например, парсер в Python (argparse) вполне корректно работает в такой ситуации.
import argparse
p = argparse.ArgumentParser()
p.add_argument('-p', '--point', nargs='+', type=float)
args = p.parse_args(['-p', '-1', '2', '-3'])
args.point
Out[1]: [-1.0, 2.0, -3.0]
Berkus
То есть джаву лучше не учить а сразу к котлину перерходить)
Berkus
Кавычки - это первое, что мы проверили. Я согласен, что тут есть некоторая неоднозначность в синтаксисе команды, но это не повод ломаться. Такую ситуацию вполне можно обработать корректно, так как список имён всех параметров парсеру известен. Например, парсер в Python (argparse) вполне корректно работает в такой ситуации.
import argparse
p = argparse.ArgumentParser()
p.add_argument('-p', '--point', nargs='+', type=float)
args = p.parse_args(['-p', '-1', '2', '-3'])
args.point
Out[1]: [-1.0, 2.0, -3.0]
Ну странно, я из классической школы и считаю что надо явно отделять один аргумент от другого )
ep
Где?
Anonymous
Anonymous
но кроссплатформа - только Qt
Anonymous
единственная беда с лицензиями
Anonymous
и, насколько я понял, под IOS нужна статическая сборка
Anonymous
а это лицензия
ep
Я просто не понял где неправильные кавычки и кому было адресовано сообщение. Если мне, то boost просто так пишет:
po -p "-1 -2 3"
the argument ('-1 -2 3') for option '--point' is invalid
ep
Результат будет такой же как и с —option="-1 2 3". В этом случае он не считает список значений аргумента набором токенов и пытается распарсить строку "-1 2 3"
ep
Кстати кастомный парсер для TCLAP работает именно с кавычками, мне тоже кажется это разумным.
ep
Вообще, boost program_options мне кажется довольно неудобным парсером. Он не header only, API по сравнению с другими больно громоздкий.
Вот, например, есть такой проект
https://github.com/Taywee/args
Один заголоовчный файл и всё. Приятный API, тоже расширяется.
Berkus
Berkus
из плюсов - никто не заставляет им пользоватся!
Крылатый
Аа...
Крылатый
Да, его!
Крылатый
Теперь вспомнил!
Tengiz
А в boost есть библиотека с кроссплаторменными intrinsics? Чтобы не писать для разных платформ __popcnt или __builtin_popcount, а писать какой-нибудь boost_popcount
Крылатый
В бусте не было такого, как я помню.
Крылатый
Да и интринсики вроде везде одинаково называются?
Крылатый
На одной платформе типа x86.
Крылатый
Т.е.
Maksim
Привет народ. Вопрос к плюсовикам. Хочу написать soap-клиент. Нажно из wsdl сгенерить .h файл. Знаю для этого утилитку gSoap. Может кто подскажет на опыте хороший ли это вариант или есть что получше и поинтереснее?
Anatoly
Anatoly
по структуре wsdl генерит структуры на С++ как это делает JXB
Anatoly
для Java
Anatoly
ну и смотри что у них сейчас с лицензией
Денис
Всем привет. А можете дать ссылку на конфу по qt?
Anatoly
Денис
Спасибо
Anatoly
да, но генерит враппер и для С++
Maksim
Ок, спасибо за ответы. Если кто еще какие варианты юзал буду рад если поделитесь)
Mikhail
хотел спросить кто нибудь юзал libmill или libdill? Можете поделится своими ощущениями?
Mikhail
если что вот ссыль на оф.
http://libmill.org/
http://libdill.org/
Mikhail
ну мне очень нравится concurrency в гошечке. однако вызывать го из си это извращение еще то + снижение производительности
Aidar
А горутины это корутины или все же файберы?
Mikhail
если ты о расте то я не знаю. не пробовал его.
Berkus
Mikhail
но думаю нет
Berkus
Ivan
Сопрограммы или волокна
Berkus
https://en.wikipedia.org/wiki/Occam_(programming_language) чудный был язык
Anonymous
вСЕМ ПРИВЕТ
Berkus
скорее всего какой-нибудь системный WCHAR дефайн его путает
🦥Alex Fails
в слаке, как я понял
🦥Alex Fails
а лог компиля можешь кинуть
Berkus
всех
🦥Alex Fails
видимо, -Werror стоит, раз он на каст из инта в чар так сильно набросился
Anonymous
подскажите возможно ли сделать distinct массива без выделения памяти под новый? в этом же массиве т.е.
Anonymous
а как?
Vladislav
Vladislav
std::sort + std::unique
Anonymous
Anonymous
Vladislav
онли pure C
тогда все то же, но написанное вручную
Anonymous
сказано же pure C
Anonymous
да мне не понятно как реализовать
Vladislav
http://en.cppreference.com/w/cpp/algorithm/unique
Vladislav
там есть possible implementation
Anonymous
Anonymous
/home/usernameak/altona-remake/base/graphics_ogl2.cpp:452:32: ошибка: некорректное преобразование из «GLuint {aka unsigned int}» в «GLuint* {aka unsigned int*}» [-fpermissive]
glGenFramebuffersEXT(1, fbo->GLName);
~~~~~^~~~~~