Anonymous
Мои корявые руки некоректно переписали код. Забыл сказать, что примечание учебника говорит, что указатели только для нестатистических элементов класса. Что-то изменится или все также останется?
Anatoly
если будут статические то все будет проще: struct foo { static void boo() {}; static int data; }; int foo::data = 0; ... void (*static_method)() = &foo::boo; int *static_data = &foo::data;
Aleksander
Уверен что вопрошающему нужно не это.
Anonymous
Так ты опять используешь статистический метод, нет?
Anatoly
Мои корявые руки некоректно переписали код. Забыл сказать, что примечание учебника говорит, что указатели только для нестатистических элементов класса. Что-то изменится или все также останется?
все, перечитал. да, синтаксис T::* только для не статических членов, а статические обычные указатели на функции и переменные без специального синтаксиса.
Никита
Неожиданная проблема. Запустил пример winsocket. Сервер просто продолжает слушать в accept, а клиент вроде как подключается, отсылает сообщение успешно и вырубается. В чем может быть проблема?
Никита
Код дефолтный с msdn
Alexander "SonnySlave"
https://github.com/conda/conda
Alexander "SonnySlave"
https://github.com/conda-forge
Alexander "SonnySlave"
вот вам ещё один пакетный менеджер)
Крылатый
Выглядит неплохо.
Крылатый
Ну они и буст запакетили https://github.com/conda-forge/boost-feedstock
Alexander "SonnySlave"
Ну они и буст запакетили https://github.com/conda-forge/boost-feedstock
это типа самый главный конкурент Conan
Alexander "SonnySlave"
ну и в конане буст запакечен, так что пофиг
Крылатый
Ну.
Nikolai
это типа самый главный конкурент Conan
Пришли бы они все давно к единообразию. А то уже не знаешь куда смотреть.
Крылатый
В conda попроще выглядят команды
🦥Alex Fails
Пришли бы они все давно к единообразию. А то уже не знаешь куда смотреть.
Ща рабочая группа по тулзам их всех приведет к одному интерфейсу)
Крылатый
какие?))
Установки пакетов, поиска, это вот всё.
Alexander "SonnySlave"
что нужно обычному смертному кроме conan install + conan search?
Nikolai
Ща рабочая группа по тулзам их всех приведет к одному интерфейсу)
Ну хотелось бы, конечно, но обычно такие инциативы малорезультативны.
🦥Alex Fails
В XXII веке
Alexander "SonnySlave"
Пришли бы они все давно к единообразию. А то уже не знаешь куда смотреть.
такое будет только тогда, когда один победит остальных
Nikolai
Ждем c++20
Дожить бы)
🦥Alex Fails
В XXII веке
вряд ли)
Кирилл
Ждем c++20
до с++11 бы добраться
Berkus
до с++11 бы добраться
добрался до с++17 прекрасно себя чувствую, Net-TS жду
Anonymous
что нужно обычному смертному кроме conan install + conan search?
Вот мне хотелось бы ставить пакеты "в систему", чтобы играться с ними без настройки системы сборки.
Alexander "SonnySlave"
в conan cache будут падать
Anonymous
msys2 дохлый чет в плане либ.
Есть что-то другое? А то вдруг кто-то что-то более крутое придумал для винды, а я сижу и насилую этот труп.
Anonymous
Cygwin ещё есть, но там пакетный менеджер тухлый и, кажется, MSYS — форк Cygwin.
Alexander "SonnySlave"
Гм... Точно, WSL.
накатил сразу же убунту и счастлив. но на линухе всё равно сижу
Anonymous
Ну, оно позиционирует себя, как "build platform"
Anonymous
Или ручками собирать всё древо зависимостией?
Alexander "SonnySlave"
Там арч можно поставить (#holywar).
ну и пусть 😊 а я убунту поставил)
Anonymous
Я тут слышал, что в их убунте пакеты староваты "немного"
Anonymous
CMake 2 этак.
Anonymous
Уже обновили до 3 хоть?
Alexander "SonnySlave"
Уже обновили до 3 хоть?
а какая разница?))) самое главное, что есть линух и тулзы к нему. всё остальное не так важно
kitsu
А две разные структуры с одинаковым полей в той же последовательности гарантированно будут иметь одинаковый memory layout?
Крылатый
И давльно давно.
Alexander "SonnySlave"
да, помню о нём. но так и не добрались руки попробовать
Alexander "SonnySlave"
мб сегодня вечерм поиграюсь (лень ребутаться на винду)
Alexander "SonnySlave"
http://cpp-russia.ru/?p=1436
kitsu
нет
Можно пример? Ну или это стандарт, а на практике редкость?
Alexander "SonnySlave"
Можно пример? Ну или это стандарт, а на практике редкость?
Стандартом не гарантируется. Значит гарантии нет
Alexander "SonnySlave"
а пример - ну можешь поиграться здоровой структурой здоровой на разных компиляторах 😊
Alexander "SonnySlave"
Можно пример? Ну или это стандарт, а на практике редкость?
а если такое рискнёшь провернуть на проде, то у тебя может внезапно бомбануть что-то где-то. Так что лучше не рискуй и следуй букве Стандарта 😊
kitsu
Ога, спасибо
Павел
всем здрасти, хотел бы задать вопросы по CMake, что такое package и чем он отличается от library? Вопрос возник из-за того что в дефолтном цмейке у меня работает find_package(CURL REQUIRED), а вот find_package(SQLITE3 REQUIRED) не работает. Я пока выкрутился через find_library(SQLITE3 REQUIRED) но мне кажется что это как-то не совсем правильно. Не эстетично выглядит да и я своими кривыми ручками дописывал там вручную - set(SQLITE3_LIBRARY "-lsqlite3"), а вот CURL без такой писанины подключился и нормально линкуется.
B
find_package ищет в CMAKE_MODULE_PATH Find*.cmake, где * это название библиотеки. можно прописать свою папку, туда пилить свои зависимости. в симейке еще есть готовые cmake файлы для поиска популярных либ, например OpenSSL. например find_package(OpenSSL) найдёт переменные OPENSSL_FOUND - system has the OpenSSL library OPENSSL_INCLUDE_DIR - the OpenSSL include directory OPENSSL_LIBRARIES - The libraries needed to use OpenSSL OPENSSL_VERSION - This is set to $major.$minor.$revision$path (eg. 0.9.8s) которые уже можно использовать в add_library find_package(OpenSSL REQUIRED) add_library(sha2_openssl sha512.c ) target_link_libraries(sha2_openssl ${OPENSSL_CRYPTO_LIBRARY} ) target_include_directories(sha2_openssl PUBLIC ${OPENSSL_INCLUDE_DIR} )
B
лучше читать доки, у симейка они очень хорошие
B
find_package внутри делает find_library (для .so, .dll, .dylib) find_program (для бинарей) find_path (для хедеров)
Павел
дада, я вроде об этом прочитал и очень удивился. Потому что библиотека SQLITE3 очень популярна, но по умолчанию она не ищется цмейком, как например ищется CURL. Если что у меня ОС - убунту, библиотеки ставил через apt, возможно это важно. Но я через apt ставил нужные мне зависимости.
Павел
по умолчанию SQLITE3 не ищется через find_package
B
ну значит в симейк не написали для него FindSQLITE3.cmake
B
точнее kitware
B
или кто там его разрабатывает
Павел
в гуглах валяются всякие FindSQLITE3.cmake, но я бы хотел делиться своим проектом и что б у всех всё работало. Для CURL всё готово и получается что работает, а вот для SQLITE3 на удивление не работает.
B
https://github.com/Kitware/CMake/tree/master/Modules
B
вот всё что есть