Задать вопрос
  • Какая версия linux оптимальна для обучения?

    @res2001
    Drno, arch - да, слишком не стабильный.
    А гентуу - есть любители.
    Мне в свое время пришлось плотно использовать FreeBSD на серверах, а это достаточно стабильная система, так что подход гентушников мне абсолютно понятен. Не вижу больших проблем использовать на сервере, если ты умеешь с ним управляться.
  • Что делать, если появляется непонятная ошибка после запуска c++ кода?

    @res2001
    В чем смысл настолько большой многопоточности?
    Почему для my_thread1 не используешь join? Оно тут напрашивается. Если бы делал, то шанс получить адекватное значение connfd без синхронизации увеличится, особенно если объявить connfd как volatile. Да и вообще любой поток должен быть либо join, либо detach иначе остатки потока не удаляются из системы даже после его завершения.
    В целом подобное разбиение на потоки смысла не имеет. Т.к. каждая операция внутри потока синхронна и следующий поток ждет предыдущего, то в итоге все происходит последовательно, никакого параллелизма. С тем же успехом все это можно просто вызывать последовательно в main, без потоков.
  • Делаю проект в GNS3, у человека кто написал пост такие данные на ПК 2 Ip 192.168.1.11 /24 geteway 192.168.2.1 (Вопрос как это возможно)?

    @res2001
    Когда-то встречал подобную реально работающую конфигурацию. Тогда меня это то же сильно удивило.
    Вроде как адрес шлюза не обязан быть в той же IP сети, что и адрес хоста. Т.е. такой вариант вполне возможен.
    Когда хост должен отправить пакет через шлюз, он просто подставляет MAC адрес шлюза в пакет и отправляет его, IP адрес шлюза по большому счету не используется. Конечно, и указанный шлюз и хост должны быть в одном широковещательном домене, для того что бы хост мог по ARP получить МАС шлюза.

    Все это мои предположения. Какого-то документального подтверждения своим домыслам не встречал.

    Думаю, что стоит избегать таких конфигураций.
  • Почему не монтируется диск в WSL windows?

    @res2001
    Павел, Ну и что. Требования соблюдены для данного документа, эти требования не касаются другого документа.
    По вашей ссылке, где используется --mount, есть свои требования и вот там они не соблюдены.
  • Почему не монтируется диск в WSL windows?

    @res2001
    Павел, Что вы понимаете под сборкой? На сколько я понял у вас версия винды не соответствует минимальным требованиям, поэтому команды --mount просто нет. Для начала нужно обновить винду до требуемой версии.

    Когда появился WSL2 у меня установленный ранее линукс не хотел обновляться до WSL2 по инструкции. Хотя сама винда обновилась до нужной версии нормально. Пришлось полностью снести WSL и заново установить WSL и линукс уже с версией WSL2.
    Команда wsl -l -v покажет подробные сведения о вашей установке, в т.ч. и используемую в дистрибутиве версию WSL. При установленном WSL2 дистрибутив может работать и как WSL1. Теоретически его можно переключить на WSL2, но это не всегда срабатывает, как выяснилось.
    Подробней смотрите тут:
    https://docs.microsoft.com/en-us/windows/wsl/install
    https://docs.microsoft.com/en-us/windows/wsl/insta...
  • Почему не монтируется диск в WSL windows?

    @res2001
    Павел, Судя по тому что пишут по вашей ссылке для этой операции требуется Windows 11 Build 22000, смотрите раздел Prerequisites.
    У меня в Вин10 в странице справки wsl ничего не сказано про параметр --mount. Возможно еще не знает о нем. С wsl регулярно такие штуки происходят - проект активно развивается.
  • Как найти нужный каталог в cmd?

    @res2001
    Добавлю.
    Так как пробелы после значения в set то же имеют значение :), то часто используют кавычки для того, что бы четко обозначить что должно присвоиться переменной:
    set "disk=C:\"
    Даже, если после кавычек случайно появится лишний пробел или таб, то он не присвоится переменной
  • Как перегрузить оператор так, чтобы принимать std::endl в своём потоке вывода?

    @res2001
    Надо наследовть class log от ofstream и использовать вывод базового класса, а не _file.
  • Почему содержимое пакетов в Wireshark не совпадает с описываемым в спецификации протокола IP?

    @res2001
    gd1xza, Когда начал писать, ответов еще не было. Если бы больше никто не ответил, то автору уже было бы за что зацепиться и дальше самому раскрутить вопрос.
  • Почему при умножении матриц, вводя разные значения при каждом новом запуске программы я получаю одни и те же размеры(не правильные)?

    @res2001
    marlaaa,
    CreatMatr должен записывать в файл все значения в виде матриц, а потом их надо считать ReadMatrix

    Верно, вот только в CreatMatr ты не пишешь в файл значения n, m, l, а передаещь их в ReadMatr в виде параметров. Так что ReadMatrix не может корректно прочитать файл, если у него не правильные n и m,

    Тебе надо в main значения n, m, l сделать массивами размером k. И на каждой итерации вызова CreatMatr передавать ссылки на следующие элементы массива. (Я бы сделал структуру, типа той, что описывал выше, и сделал один массив структур, а не 3 массива интов.)
    В следующем цикле так же используй элементы массива для передачи в ReadMatrix.

    Вообще, не понятно зачем ты сначала пишешь эти файлы, а потом их читаешь. Сгенерировала матрицу в памяти и сразу отдавай ее в MatrixProduct. Можешь генерировать сразу вектор, а не сырой массив, как сейчас. Зачем эта возня с промежуточным файлом?
  • Почему содержимое пакетов в Wireshark не совпадает с описываемым в спецификации протокола IP?

    @res2001
    Во первых первый байт - 0x28H, в битах это будет 101000, итого первые четыре бита - 0000, хотя протокол - IPv4

    Двумя строками ниже подчеркнутого посмотрите написано 0100 = Version 4. То что надо.
    В HEX dumpe, по всей видимости, вы смотрите уже поле данных IP пакета. Возможно надо взять вышестоящий заголовок. Или где-то включить отображение IP header. Точно не скажу, давно уже не держал в руках сниффер.
    0х0800 - это видимо значение поля EthType вышестоящего заголовка Ethernet Frame, значение как раз соответствует IPv4.
  • Нужен батник для копирования по сетевому диску только последних (новых) файлов?

    @res2001
    o_krytS, Что написано, то и копирует. pushd просто меняет текущий каталог. После двух pushd текущим становится каталог из последней команды, этот каталог и копируется.
    Вам надо выполнить первую pushd, затем копирование и popd, затем вторую pushd и снова копирование и popd.
    Можно загнать в цикл или процедуру, что бы не двоить код.
  • Как конвертировать указатель PWSTR в указатель на string (c++)?

    @res2001
    Возможно, стоит подумать использовать wstring, а не string?
  • Почему при умножении матриц, вводя разные значения при каждом новом запуске программы я получаю одни и те же размеры(не правильные)?

    @res2001
    marlaaa,
    убрала утечку памяти и в CreatMatr сделала return n,m,l

    Не убрала и не сделала!
    По утечкам: в С++ каждому вызову new должен соответствовать вызов delete. Посчитай сколько раз у тебя вызывается new и сколько delete. Так что утечки остались.

    В С++ нельзя в return вернуть несколько значений через запятую. В таком случае вернется последнее перечисленное значение. Запятая - это оператор, можешь почитать в учебнике про него или тут: https://en.cppreference.com/w/cpp/language/operato...
    Чтоб вернуть 3 значения (n, m, l) тебе надо упаковать их в структуру и возвращать структуру. Что-то типа такого:
    struct nml_s {
     int n, m, l;
     nml_s(int _n, int _m, int _l) : n(_n), m(_m), l(_l) {}
    };
    ...
    nml_s CreatMatr(int n, int m, int l)
    {
       ...
       nml_s nml(n, m, l);
       ...
       return nml;
    }

    Другой вариант передавать не значения n, m, l, а ссылки на них. Тогда CreatMatr будет выглядеть так:
    void CreatMatr(int &n, int &m, int &l)
    {
     ...
    }

    В таком случае возвращать ничего не нужно, т.к. изменение значения ссылки ведет к изменению значения на которое ссылается ссылка :)

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

    Еще один момент. Ты вызываешь CreatMatr несколько раз, но сохраняешь (пока что не сохраняешь) набор значений n, m, l только один - последний. А как же все предыдущие? Они не нужны?
  • Разграничить по подсетям и VLAN?

    @res2001
    Добавлю.
    В контроллере можно обойтись и одним сетевым адаптером. Если адаптер поддерживает VLAN, то можно в этот единственный порт на коммутаторе пустить все 4 тегированных VLAN. Разруливать VLANы уже непосредственно на контроллере - там создать 4 виртуальных адаптера (по количеству VLANов) с помощью драйвера сетевого адаптера, дальше все как описано.

    В разных VLAN лучше использовать разные, не пересекающиеся IP подсети. Т.к. использование одной и той же IP подсети в разных VLAN добавит вам проблем, в случае, если между подсетями нужен обмен трафиком (обычно это так и есть). Даже если вам сейчас кажется, что никакого обмена никогда не будет, то все равно сделайте разные подсети, т.к. обмен рано или поздно все равно понадобится.
    Ваш контроллер, который подключен ко всем VLANам и имеет в каждой подсети адрес может выступать шлюзом для обмена трафиком между подсетями.
  • Почему отваливается wi-fi адаптер?

    @res2001
    Вячеслав Грачунов,
    Это ноут, он же должен быть рассчитан по мощности

    Нет. Откуда производитель может знать что вы воткнете в порты компьютера. В ноутах рассчитывают на какую-то среднестатистическую нагрузку, чтоб удовлетворить большую часть пользователей. Кроме того нагрузка еще зависит от того, что подключено в другие порты.
    Вообще это не обязательно вариант с нехваткой мощности БП. Привел его как одну из возможных причин.

    В ноутах аккумулятор может сглаживать недостаток мощности БП, вообще надо смотреть на мощность аккума в случае ноутбука. Но если аккумулятор дохлый, то он уже большой роли не играет и все ложится на БП.

    Посмотрел, у моего старенького ноута БП на 90 Вт. Ну как бы не много, мягко говоря. Запаса прочности особого нет. Какой мощности аккум не знаю - надо корпус вскрывать.
  • Почему отваливается wi-fi адаптер?

    @res2001
    Отвал так же может быть, если блок питания компа работает на пределе мощности. В этом случае, когда появляется "всплеск" активности и мощности не хватает, могут отваливаться USB порты. Да и не только они.

    Впрочем, разъем USB довольно не надежный и может быстро "расшатываться" при частом использовании, так что устройства вполне могут самопроизвольно "отходить".
  • Почему не работает у пользователя в домене?

    @res2001
    Что значит
    отказывался принимать что либо

    впихивание статики

    Куда он должен был что-либо принять? Что это за "что-либо", которое вы ему суете?
    Что за "статику" вы ему впихиваете и куда? И как это должно было повлиять?
    Какие ошибки при этом возникают?
    Где конкретно на микротике вы увидели адрес?

    Выражайтесь понятнее, а то рискуете получить ответ в том же стиле.

    Если пользователь на другом компе смог добиться того же эффекта, то может надо спросить у пользователя, чем он там занимается?
  • Почему не работает команда cmd < commands.txt?

    @res2001
    habrdima, Команды в файле должны заканчиваться переводом строки (CRLF), иначе команда не выполнится - символ перевода строки является частью ввода и воспринимается cmd как указание выполнить команду. Собственно, это то же самое, что вы нажимаете Enter на клавиатуре после ввода команды. Без Enter команда не начнет выполняться.
    Кодировка файла важна. Особенно если внутри есть русские символы. По умолчанию кодировка в командной строке 866, да же не 1251. Если в файле только английские буквы и цифры и т.п. (первая половина ASCII table), то кодировка файла может быть почти любой, т.к. в большей части кодировок эти символы кодируются одинаково.