Anonymous
Мои корявые руки некоректно переписали код.
Забыл сказать, что примечание учебника говорит, что указатели только для нестатистических элементов класса. Что-то изменится или все также останется?
Anatoly
если будут статические то все будет проще:
struct foo { static void boo() {}; static int data; };
int foo::data = 0;
...
void (*static_method)() = &foo::boo;
int *static_data = &foo::data;
Evgenii
Aleksander
Aleksander
Уверен что вопрошающему нужно не это.
Anonymous
Так ты опять используешь статистический метод, нет?
Anatoly
Anatoly
Anatoly
Никита
Неожиданная проблема. Запустил пример winsocket. Сервер просто продолжает слушать в accept, а клиент вроде как подключается, отсылает сообщение успешно и вырубается. В чем может быть проблема?
Никита
Код дефолтный с msdn
Alexander "SonnySlave"
https://github.com/conda/conda
Evgenii
Alexander "SonnySlave"
https://github.com/conda-forge
Alexander "SonnySlave"
вот вам ещё один пакетный менеджер)
Крылатый
Выглядит неплохо.
Крылатый
Ну они и буст запакетили https://github.com/conda-forge/boost-feedstock
Alexander "SonnySlave"
Alexander "SonnySlave"
ну и в конане буст запакечен, так что пофиг
Крылатый
Ну.
Крылатый
В conda попроще выглядят команды
Alexander "SonnySlave"
🦥Alex Fails
Крылатый
какие?))
Установки пакетов, поиска, это вот всё.
Alexander "SonnySlave"
что нужно обычному смертному кроме conan install + conan search?
Alexander "SonnySlave"
🦥Alex Fails
🦥Alex Fails
В XXII веке
Alexander "SonnySlave"
Nikolai
🦥Alex Fails
🦥Alex Fails
Alexander "SonnySlave"
Anonymous
Berkus
Alexander "SonnySlave"
Alexander "SonnySlave"
в conan cache будут падать
Anonymous
msys2 дохлый чет в плане либ.
Есть что-то другое? А то вдруг кто-то что-то более крутое придумал для винды, а я сижу и насилую этот труп.
Anonymous
Cygwin ещё есть, но там пакетный менеджер тухлый и, кажется, MSYS — форк Cygwin.
Alexander "SonnySlave"
Anonymous
Alexander "SonnySlave"
Гм... Точно, WSL.
накатил сразу же убунту и счастлив. но на линухе всё равно сижу
Anonymous
Ну, оно позиционирует себя, как "build platform"
Anonymous
Или ручками собирать всё древо зависимостией?
Anonymous
Alexander "SonnySlave"
Anonymous
Я тут слышал, что в их убунте пакеты староваты "немного"
Anonymous
CMake 2 этак.
Anonymous
Уже обновили до 3 хоть?
Alexander "SonnySlave"
Уже обновили до 3 хоть?
а какая разница?))) самое главное, что есть линух и тулзы к нему. всё остальное не так важно
kitsu
А две разные структуры с одинаковым полей в той же последовательности гарантированно будут иметь одинаковый memory layout?
Крылатый
Крылатый
И давльно давно.
Alexander "SonnySlave"
да, помню о нём. но так и не добрались руки попробовать
Alexander "SonnySlave"
мб сегодня вечерм поиграюсь (лень ребутаться на винду)
Alexander "SonnySlave"
http://cpp-russia.ru/?p=1436
Alexander "SonnySlave"
Alexander "SonnySlave"
kitsu
нет
Можно пример? Ну или это стандарт, а на практике редкость?
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
вот всё что есть