@ProCxx

Страница 2409 из 2477
Ilia
05.10.2018
11:10:14
Ну вот я бы очень удивился, если использование структур с паддингами было бы UB... Потому что ты никак паддинги не можешь проинициализировать (кроме memcpy/set)

Andrew
05.10.2018
11:12:25
Так ты их и не должен использовать руками. operator= их не обязан копировать — вроде где-то было пример {a=b; memcmp(a, b, sizeof(a)) != 0;} — потому что паддинги не трогались.

Крис
05.10.2018
12:11:58
Сообственно вопрос. Пишу транслятор и вспомогательную программу для демонстрации работоспособности транслятора. Транслятор это приложение с CLI которое в качестве аргументов принимает файлы с исходным кодом а на выходе выдает екзешник. По мере своей работы транслятор генерирует таблицы лексем, таблицы идентификаторов, констант и тд. Вспомогательная программа должна предусматривать возможность написания кода(TextInput в кути, к примеру), загрузку/сохранение файлов, вывод результатов лексического, синтаксического и семантического анализов(возможно еще машинно-независимые и затем машинно-зависимые оптимизации, если оные имели место быть), вывод ошибок трансляции. Допустим, я могу предусмотреть определенные флаги транслятора в дебаг сборке для генерации в доп файлах этих таблиц и их рендера в вспомогательной программе, но как мне перенаправить вывод транслятора в вспомогательное приложение? P.S. И если есть другие предложения по получению промежуточных результатов трансляции то я буду рад их выслушать.

A.D.
05.10.2018
12:14:59
Сообственно вопрос. Пишу транслятор и вспомогательную программу для демонстрации работоспособности транслятора. Транслятор это приложение с CLI которое в качестве аргументов принимает файлы с исходным кодом а на выходе выдает екзешник. По мере своей работы транслятор генерирует таблицы лексем, таблицы идентификаторов, констант и тд. Вспомогательная программа должна предусматривать возможность написания кода(TextInput в кути, к примеру), загрузку/сохранение файлов, вывод результатов лексического, синтаксического и семантического анализов(возможно еще машинно-независимые и затем машинно-зависимые оптимизации, если оные имели место быть), вывод ошибок трансляции. Допустим, я могу предусмотреть определенные флаги транслятора в дебаг сборке для генерации в доп файлах этих таблиц и их рендера в вспомогательной программе, но как мне перенаправить вывод транслятора в вспомогательное приложение? P.S. И если есть другие предложения по получению промежуточных результатов трансляции то я буду рад их выслушать.
а что, именованые сокеты уже отменили?

Google
A.D.
05.10.2018
12:15:08
или я не понял задачу?

ну и это в @pro_prog больше, имхо

Крис
05.10.2018
12:17:37
а что, именованые сокеты уже отменили?
Ну по сути мне нужно выбрать как организовать междупроцессорное взаимодействие. Сокеты?

И я не уверен что именованые каналы есть под линукс. Знаю что в WinAPI такое присутствует UPD: Ямы в знании терминологии. Уже нашел что есть.

A.D.
05.10.2018
12:19:29
Ну по сути мне нужно выбрать как организовать междупроцессорное взаимодействие. Сокеты?
междупроцессорное ты запаришься паять ) можно сокеты, можно общую память, можно БД, везде свою плюшки.

ну, БД - это так, для стеба больше )

Igor
05.10.2018
12:21:49
ещё до кучи можно возомнить себя юниксом — пускай результат одного анализа будет уходить в stdout красивым форматированным деревом, а другой анализ будет это дерево читать из stdin /s, хотяяя... ?

A.D.
05.10.2018
12:22:49
Крис
05.10.2018
12:23:11
Igor
05.10.2018
12:23:12
Суть другая. У меня все анализы вызываются последовательно из одного процесса.
ну вот суть в том чтобы изменить суть и наплодить разных процессов, чтобы каждый делал одно и хорошо)

Крис
05.10.2018
12:24:11
посмотри YouCompleteMe плагин для vim, мне кажется, он делает что-то похожее со шлангом
Мне кажется максимально близко лежит взаимодействие IDE и компилятора. Вот как разработчики IDE делают это мне интересно

Google
Ilia
05.10.2018
13:04:26
Ну по сути мне нужно выбрать как организовать междупроцессорное взаимодействие. Сокеты?
Да там столько вариантов, ну да, сетевой сокет попробуй для начала. Но он не кроссплатформенный...

Крис
05.10.2018
13:04:56
Да там столько вариантов, ну да, сетевой сокет попробуй для начала. Но он не кроссплатформенный...
Не кроссплатформенное решение + макросы = кроссплатформенное решение :)

Крис
05.10.2018
13:08:02
Буст асио может лучше?
Однозначно лучше, неудачно пошутил просто.

Anatoly
05.10.2018
13:12:17
что-то не соображу, а что-то с многословностью decltype(functor(*dummy_value_pointer_for_decltype)) в этом примере можно сделать, чтобы вывести тип возвращаемого функтором результата? auto custom_operator = [](auto functor) { return [=](auto observable) { decltype(observable)::value_type* dummy_value_pointer_for_decltype = nullptr; return rx::observable<>::create<decltype(functor(*dummy_value_pointer_for_decltype))>([=](auto subscriber) { return observable.subscribe( subscriber.get_subscription(), [=](auto v) { subscriber.on_next(functor(v)); }, [=](std::exception_ptr ep) { }, [=]() { subscriber.on_completed(); }); }); }; };

Anatoly
05.10.2018
13:22:00
::create<std::result_of_t<decltype(functor)>> ?
во, спасибо большое!!! не докрутил

Daniel
05.10.2018
13:22:58
Есть ли возможность собрать libtorrent под os X в dll и юзнуть эту dll в .NET?

Igor
05.10.2018
13:23:00
в каком там стандарте появились шаблонные лямбды template<class F> [](T functor)? с ними можно result_of_t<T> по идее сделать

Daniel
05.10.2018
13:25:32
Google
Ilia
05.10.2018
13:26:12
ксамарин
Тогда почему же нет?

Daniel
05.10.2018
13:26:26
ну мало ли какие там подводные камни

Вот и спрашиваю

Anatoly
05.10.2018
13:26:45
::create<std::result_of_t<decltype(functor)>> ?
к сожу, не прошло, functor - лябмда

Daniel
05.10.2018
13:26:49
НАдо бы наверн с этим вопросом в чатик по дотнету

Igor
05.10.2018
13:27:36
к сожу, не прошло, functor - лябмда
явно указать лямбде тип возврата через []() -> whatever?

если честно немного не понял, какая результ_оф'у разница, лямбда или не лямбда

Anatoly
05.10.2018
13:28:00
явно указать лямбде тип возврата через []() -> whatever?
да, я понимаю, но не хочется клиентов нагибать

Александр
05.10.2018
13:29:29
да, я понимаю, но не хочется клиентов нагибать
std::invoke_result_t<decltype(functor), std::declval<decltype(observable)::value_type>> ?

Igor
05.10.2018
13:30:10
это ещё громоже чем исходный вариант)

Александр
05.10.2018
13:30:38
это ещё громоже чем исходный вариант)
Но без dummy_value_pointer_for_decltype :)

И если внутри действительно использовать invoke можно будет всё INVOKABLE использовать в качестве функтора, например, указатели на члены дынных.

Igor
05.10.2018
13:33:10
implicit instantiation of undefined template 'std::result_of<(lambda at <source>:12:21)> хмм

Anatoly
05.10.2018
13:35:59
Constantine
05.10.2018
13:37:17
снимаю шляпу, но MSVC не переварил
а там скобок declval не хватает

это же функция

Anatoly
05.10.2018
13:38:25
все, разобрался, declval не нужен: std::invoke_result_t<decltype(functor), decltype(observable)::value_type>

@alexander468 @Artalus еще раз спасибо, круто!!!

Google
Igor
05.10.2018
13:38:59
имхо, исходный вариант с указателем - понятнее )

Побитый
05.10.2018
14:23:12
Там вроде проблемы с дин. либами. Из-за этого LGPL не работает, потому что статическая линковка

Или это только на айфоне...

Страница 2409 из 2477