• Мне надо иметь две .lib для debug и release?

    @res2001
    Предполагаю, что используется lib для статической библиотеки. Видимо, если бы была динамическая библиотека, то у нее может быть свой собственный runtime.
    lib - описывает оба варианта библиотек. В случае статической библиотеки вся библиотека находится в lib. Если это lib для динамической библиотеки, то в lib только ссылки на dll.
    Написано
  • Почему может меняться IP в OpenVPN?

    @res2001
    My_Second_Nickname, значит поменялся клиентский конфиг
    Написано
  • Почему может меняться IP в OpenVPN?

    @res2001
    My_Second_Nickname, Возможно поменялся ключ. Обычно IP в OpenVPN привязывают к CN клиентского сертификата. Точнее привязывают не IP, а клиентский конфиг, в котором уже прописан и статический IP.
    Написано
  • Как получить доступ до полей tVariant после миграции с MSVC на CMake (g++) MinGw и CLion?

    @res2001
    Skodio29,
    компиляция проходит, если не делать манипуляций описанных в вопросе

    Т.е. компилируется в MSVS, а в CLion нет?
    Написано
  • Как получить доступ до полей tVariant после миграции с MSVC на CMake (g++) MinGw и CLion?

    @res2001
    Вероятно, IDE не находит заголовочные файлы, поэтому не может проанализировать содержание структур. Где-то это должно настраиваться.
    Этот заголовочный файл из вашего проекта или какой-то системный?
    Сборка проекта проходит нормально?

    У меня в связке msys2+mingw+qtcreator никаких проблем с этим нет. Для нормальной работы qtcreator настраиваю несколько переменных окружения, после чего все работает без проблем.
    При этом микросовтовский компилятор и SDK (установлена MSVS) qtcreator видит без дополнительных манипуляций.
    Написано
  • Как правильно вывести структуру из dll на c++ в Python?

    @res2001
    LilaznEnzo, Что и сейчас внутри DLL параметры приходят кривые?
    Возможно дело в calling convention вызываемой из DLL функции. Посмотри тут:
    https://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D0%B3%D...
    https://docs.python.org/3/library/ctypes.html#func...
    https://learn.microsoft.com/en-us/cpp/cpp/cdecl?vi...
    https://learn.microsoft.com/en-us/cpp/cpp/stdcall?...
    Судя по всему ctype хочет stdcall, а микросовтовский компилятор по умолчанию делает cdecl. Думаю стоит с обоих сторон явно указать одно и то же используемое соглашение о вызове

    Я не использовал ctype, но делал на С/С++ модули для питона: https://docs.python.org/3/extending/extending.html
    Написано
  • Как правильно вывести структуру из dll на c++ в Python?

    @res2001
    В коде на питоне вы передает в Coord какие-то параметры, которые нигде не определены. И почему то хотите увидеть внутри DLL что-то осмысленное. Думаю, что передавать стоит x1, x2,... а не тот набор что сейчас стоит в фактических параметрах.
    Написано
  • Как обеспечить одновременное удаленное подключение нескольких пользователей к windows 10 или 11, не в локальной сети?

    @res2001
    #,
    про сервер тоже не все однозначно

    Естественно, что мелкософт обложилась лицензированием со всех сторон.
    Но, помнится, можно было сгенерировать серверные терминальные лицензии относительно легальными методами. Это все равно нарушение лицензии, но при этом ничего ломать было не нужно и лицензии не слетали при обновлениях.
    Как с этим обстоят дела в современных версиях серверной винды я уже не в курсе, давно не интересуюсь вопросом.
    .. и то все под админскими учетками..

    Что это вдруг? Даже в домашнюю винду можно зайти по рдп без админских прав, если этим озаботится. В сервере то же самое.
    Написано
  • Код работает по другому из-за защиты сервера?

    @res2001
    Acaunt,
    Почему выдало это, а не то что я просто хотел вывести в консоль? Это какая-то защита?

    Это вопрос для поддержки Sololearn.
    Вряд ли это связано с защитой, учитывая, что первый пример кода выдает root. Похоже, что он подменяет именно эту строку "/home/root/Documents", кстати в строке можно Documents поменять на что-то другое, результат будет тот же. Другие строки выводятся как надо. Это похоже на глюк.
    Написано
  • Как обеспечить одновременное удаленное подключение нескольких пользователей к windows 10 или 11, не в локальной сети?

    @res2001
    Используем Windows Server 2019

    Если используете серверную версию, то зачем вам wrapper? Сервер обеспечивает работу нескольких пользователей одновременно из коробки. Если не работают какие-то программы, то возможно надо разобраться почему и получится заставить их работать.
    Десктопные версии Windows (10/11 и т.п.) являются одно пользовательскими - это лицензионное (и программное) ограничение. RDP wrapper снимает это ограничение (ломает винду), чем нарушает лицензию.
    Написано
  • Как прочитать адреса S7 - 1500 с помощью .NET?

    @res2001
    С ПЛК библиотека по сети связывается?
    В Profinet передаваемые данные кодируются в big endian если что.
    Написано
  • Что не так с Futex?

    @res2001
    jcmvbkbc, он же там крутится в вечном цикле, а счетчики не меняются
    Написано
  • Что не так с Futex?

    @res2001
    jcmvbkbc,
    объясни, кто с кем гоняется, я не вижу гонки.

    На счет того же потока на другом процессоре - думаю тут нет проблемы - при переключении контекста, по моему, происходит синхронизация (где-то читал про это), так что поток на новом ядре увидит как минимум собственные изменения, которые были на предыдущем проце.
    Но я бы предпочел явную синхронизацию.

    Можешь не называть это гонкой, я не знаю другого подходящего термина.

    По формальным признакам (общие данные и нет синхронизации) вижу, что тут возможно состояние гонки.
    Но я ее себе не обосновал. Но ошибка есть. Предполагаю, что из-за этого.

    Для чего тут атомарные операции?

    Атомарные операции - т.к. они включают в себя барьер. Или барьер или атомарные операции c owner.

    Кстати, ошибка
    Total: 0 asc: 0 dsc: 0 eq: 0

    возможно говорит о том, что кастомный мьютекс не обеспечивает барьер памяти. А должен.
    Хотя у него там сгенерированная строка не копируется в узел списка, поэтому все манипуляции со списком происходят на пустых узлах без данных. Но хотя бы Total и eq расти должны.

    Обе упомянутые ошибки 100% детерминированные и воспроизводятся с одним потоком.

    Этот код не запускал, т.к. сейчас на винде сижу, а у него тут фьютексы. Но запускал предыдущую версию с нормальными pthread мьютексами - все работало.
    Написано
  • Что не так с Futex?

    @res2001
    jcmvbkbc, Ну да тут гонка на чтении, аналогично и в unlock(). Нужен барьер или атомарные операции.
    Вероятно не правильное срабатывание (или не срабатывание) условия.
    Отсюда и появление ошибки.
    Написано
  • Что не так с Futex?

    @res2001
    Еще и гонка внутри мьютекса за owner и count, т.к. они никак не защищены, не синхронизируются и даже не volatile.
    Написано
  • Context switch per second (Linux) 1.3млн это много или мало?

    @res2001
    asmelnik, Учитывая слишком высокое значение сейчас, я бы стремился на вашем месте его уменьшить, а не увеличить. Такое впечатление, что нагрузку на проц создают именно переключения контекста, а не реальная работа.
    Если прерывания учитываются в этой цифре, то возможно у вас их слишком много. Попробуйте получить статистику по прерываниям другими способами и определить какие именно срабатывают наиболее часто. Возможно найдете способ повлиять на их количество, а это в свою очередь разгрузит процессор и позволит вашим рабочим процессам выполнять больше работы при меньшем значении CS.
    Написано
  • Context switch per second (Linux) 1.3млн это много или мало?

    @res2001
    Что же означает параметр "Context switch per second"?
    Если это количество переключений задач в секунду планировщиком ОС, то он не адекватно высок. Разве что у вас 1300 ядер в проце.
    Написано
  • Как правильно округлять числа с плавающей точкой с заданной точностью?

    @res2001
    Для справки точность double ~15-16 значащих десятичных цифр, точность float - ~5-6
    Даже если вы будете округлять с помощью round, полученное целое число может быть точно не представимо в плавающем формате, оно будет представлено в приближенном варианте. Вот этот приближенный вариант вы и видите в выводе. Никогда не следует рассчитывать, что в переменной с плавающей точкой лежит точное значение.
    Написано
  • Почему множественный вызов конструктора создаёт только один объект?

    @res2001
    yatanai, Ну значит в MSVC эта оптимизация не отключается.
    Надо усложнить тест. Создайте несколько реальных объектов и используйте std::move для вызова конструктора перемещения.
  • Не видно конкретный узел в другой подсети. Почему?

    @res2001
    zipchik,
    1.111 в сети нету.

    В этом случае трейс к нему бесполезен.
    С 1.111 видимо то же нет доступа к узлам соседней сети. Тогда полезней было бы увидеть трейс с 1.111, а не наоборот.