Nikita
мне казалось, что для набора массы надо творог после тренировочки кушать
Vyacheslav
Ну, я хочу добавлять эвенты из рдугого потока
в данных статьях показываются проблемы/реализации ивентов и форков https://habrahabr.ru/post/17000/ https://habrahabr.ru/post/234835/ http://pragmaticperl.com/issues/04/pragmaticperl-04-anyevent-%D0%B8-fork.html http://www.perlmonks.org/?node_id=1007745 статьи на Perl, но думаю должно быть понятно
Крылатый
Онтопчик вброшу http://www.sean-bollin.com/2017/05/01/reactor-vs-proactor-part-1-the-reactor/
Крылатый
Крылатый
Можно бота на реакторах написать)
Крылатый
Надо попробовать самому бота написать, чтобы логи собирал.
Крылатый
Организовать поиск по ним полнотекстовый.
Square
Логи откуда? Тележку?
Крылатый
Да, хотя бы.
Крылатый
Правда, есть ещё необходимость сделать адекватный транспорт xmpp-tg, чтобы на несколько комнат раздельно.
Крылатый
И не на js)
Крылатый
Как вам PHP в ваших C++? https://twitter.com/sebrose/status/858347156427636738
Square
Крылатый
Вот-вот.
Крылатый
Почему бы не сделать тайпклассы? Нет, давайте наступать на интерфейсы.
Крылатый
Ты ошибся чатом, друже.
Крылатый
🐙 Antony
Поддерживаю! Если хоть 1% любителей Rust в один из дней поймут, что с флагами "-Wall -Wextra -Werror" C++ становится весьма похож на Rust - задача выполнена, людишки обучены.
Vladislav
см. GenerateConsoleCtrlEvent
Крылатый
Го compile-time строки в плюсы пилить.
Крылатый
А в шаблон аргументом это через анус опять сувать, да?
Danil
Го compile-time строки в плюсы пилить.
уже есть http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0259r0.pdf https://github.com/tomazos/fixed_string
🐙 Antony
Го compile-time строки в плюсы пилить.
Это неправильные строки! Правильные должны делаться вот так: https://apolukhin.github.io/papers/constexpr_allocator.html
Крылатый
Где голосовать?
Крылатый
Можно ж будет адекватную ORM написать наконец.
Крылатый
ib4: не учитывая рефлексию
🐙 Antony
Где голосовать?
На встрече в Торонто :)
Крылатый
На встрече в Торонто :)
Далеко ехать ='(
🐙 Antony
Супер
🐙 Antony
чем больше шума, тем выше шанс что прислушаются
Григорий
всем привет
Григорий
такой вопрос: явное связывание с длл в винде
Григорий
как указывать имя метода, если он внутри нэймспейса и внутри класса?
Григорий
статический
Григорий
LPCSTR funcName = static_cast<LPCSTR>("add@MyDLL@MyDLLNamespace"); это не работает(
Anatoly
какое же это раннее связывания?
Anatoly
dumpbin тебе в помощь
Григорий
не ранне,е, а явное
Григорий
LoadLibrary которое
Anatoly
смотри вывод https://msdn.microsoft.com/ru-ru/library/30e78zd0.aspx
🐙 Antony
как указывать имя метода, если он внутри нэймспейса и внутри класса?
Плагины? Му-ха-ха. Добро пожаловать в ад! Можно воспользоваться http://www.boost.org/doc/libs/1_64_0/doc/html/boost_dll.html чтобы уменьшить страдания и припекание
Anatoly
и ищи там свой метод
Nikita
вроде можно как то def файл же создать и посмотри LoadLibraryEx
Nikita
но хз поможет ли
Григорий
спасибо всем, сейчас гляну
Dr. Friedrich
Буст не все любят почему-то.
Nikita
у вас тут что, секта свидетелей буста? ради одной дллки в проект буст линковать, если его до этого там не было - оверкилл
Dr. Friedrich
Подключить как зависимость — это да, и это может внести оверхед. А может и не внести.
Daniil
кстати, вброс про буст небольшой
Daniil
за что я люблю буст. Вот смотришь и сразу понятно как код работает и очень удобно читать сорцы // Declare a group of options that will be // allowed only on command line po::options_description generic("Generic options"); generic.add_options() ("version,v", "print version string") ("help", "produce help message") ; // Declare a group of options that will be // allowed both on command line and in // config file po::options_description config("Configuration"); config.add_options() ("optimization", po::value<int>(&opt)->default_value(10), "optimization level") ("include-path,I", po::value< vector<string> >()->composing(), "include path") ; // Hidden options, will be allowed both on command line and // in config file, but will not be shown to the user. po::options_description hidden("Hidden options"); hidden.add_options() ("input-file", po::value< vector<string> >(), "input file") ;
Daniil
офигенная конструкция generic.add_options() ("version,v", "print version string") ("help", "produce help message") ;
Daniil
наверняка add_options возвращает какой-нибудь тип данных у которого перегружен operator() который возвращает референс на себя же
Daniil
называется как реализовать builder или чото в таком ключе чтобы никто ничего не понял
Daniil
Да, это так.
ад же блин(
Dr. Friedrich
называется как реализовать builder или чото в таком ключе чтобы никто ничего не понял
Но ведь это прям первое, что описывается в документаци на boost::program_options.
Dr. Friedrich
Нельзя читать документацию и не знать про этот билдер
Dr. Friedrich
Но, если пытаться раскурить чужой код, не читая документации на библиотеку, это и правда покажется неочевидным.
Daniil
если бы я такое встретил в коде я бы кирпичей наложил
Daniil
вот вот
Григорий
чуваки, я вовсе не хотел вкидывать про винду
Nikita
холивары в другом чатике
Dr. Friedrich
Про винду вкидывайте в холиварах.
Vladislav
в посиксе есть getopt/getopt_long для этих дел
🐙 Antony
если бы я такое встретил в коде я бы кирпичей наложил
Что-то я не пойму, что именно вам не нравится (я совершенно серьезно, без всяких подколов)? Вот это generic.add_options() ("version,v", "print version string") ("help", "produce help message") ; выглядит в 100 раз читабельнее, чем какой-нить getopt или им подобные решения
Vladislav
для парсинга аргументов
Vladislav
гетопт не умеет прасить ини файлики
а это только для инишников?
Daniil
хз я для этого либу искал
Daniil
я всеравно не стал пользовать, поэтмоу забил
Daniil
нет?
Daniil
или args << "version,v" << "print" << ...