Задать вопрос
  • Как обеспечить одновременное удаленное подключение нескольких пользователей к 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, а не наоборот.
  • Как убрать ошибку spawn unknown vscode c++?

    @res2001
    flow_sad, Да фиг знает. Я голым mingw не пользовался. Посмотрите в меню пуск, должна быть его папочка и там какая-нибудь консоль.
    Скорее всего при запуске из виндовой cmd не находится стандартная плюсовая библиотека, которая лежит где-то в недрах mingw.

    Рекомендую использовать msys2+mingw. msys2 - это линуксовая оболочка со всеми необходимыми инструментами + пакетный менеджер. В репозиториях msys2 куча готовых библиотек и разнообразных программ, которые легко ставятся пакетным менеджером.
    Или можете использовать MSVS. Только берите старую версию, судя по всему у вас слабый комп. Берите MSVS 2015 например. В MSVS свой собственный компилятор и он нативный для винды. Для новичка в самый раз.
  • Как убрать ошибку spawn unknown vscode c++?

    @res2001
    У вас там mingw? Собираете в консоли mingw или в виндовой командной строке?
    Попробуйте собрать в консоли mingw и там же запустить.
  • Как убрать ошибку spawn unknown vscode c++?

    @res2001
    flow_sad, а ну да, это же плюсы
    g++ main.cpp -o main
    После сборки запустите программу и посмотрите будет ли ошибка.
    У вас какая ОС?
  • Как убрать ошибку spawn unknown vscode c++?

    @res2001
    flow_sad, Попробуйте собрать в командной строке.
    У вас какой компилятор?
    С gcc собирать так:
    gcc main.c -o main
  • Не видно конкретный узел в другой подсети. Почему?

    @res2001
    zipchik, Тут вроде все нормально.
    Посмотрите tracerout от 1.111 до какого-нибудь ресурса в соседней сети. И наоборот.
  • Как убрать ошибку spawn unknown vscode c++?

    @res2001
    flow_sad, Вы, видимо, пытаетесь запустить программу под отладчиком. Но VSCode не смог найти отладчик. О чем вам и сообщает.
    Можете просто запустить программу, без отладчика.
    VSCode не содержит ни компилятора ни отладчика, он использует сторонние инструменты, которые вы ему должны предоставить.