Задать вопрос
  • Как развернуть Astra Linux с сохранением защиты оболочки?

    @res2001
    x86_64, ARMы и Эльбрусы официально поддерживаются. Так что видимо нет особых проблем установить на писюк с Байкалом.
  • Как сохранить текст из окна батника в txt файл?

    @res2001
    Михаил Компас,
    Получилось сохранить в txt файл таким кодом:

    Это обычное явление. Есть 2 стандартных потока вывода stdout и stderr.
    Когда вы делаете >output.txt или 1>output.txt вы перенаправляете stdout в файл. stdout имеет идентификатор 1. Если пишете 2>output.txt - перенаправляете stderr в файл.
    Какая программа в какой поток пишет не угадаешь, нужно тестировать. Многие программы пишут сразу в оба потока, как можно догадаться по названию потоков обычный вывод в stdout, а ошибки в stderr. С помощью перенаправления можно развести потоки в разные файлы. Бывает удобно.
    Есть и универсальный вариант: 1>output.txt 2>&1
    Тут в файл перенаправляется stdout, а stderr перенаправляется в stdout, таким образом весь вывод оказывается в одном файле.
  • Почему не работает пузырьковая сортировка двумерного динамического массива?

    @res2001
    War4, Т.е. этот код не ты писал?
    Правильно написанный приведенный участок кода должен менять местами 2 элемента массива (Arr[i][j + 1] и Arr[i][j]). У тебя этот участок кода написан не правильно и этого неделает. Т.е. вот эти 3 строки по факту никаких изменений в массив не вносят. Наверняка компилятор это все удалит при включенной оптимизации. Как может отсортироваться массив без его изменения?
  • T440p Lenovo, возможно ли установить ОС Windows 10 или 11 22H2?

    @res2001
    Alexander Gor,
    Windows 10 1803 совместимы с 22H2?

    Помнится, когда вышла Вин10, у меня был ноут на Вин8.1. Через год, когда для Вин10 уже вышли первые крупные обновления, я решил, что меня задолбала восьмерка и проапгрейдился до Вин10 с помощью стандартного WIndows Update. После обновления, все драйвера, работавшие на Вин8.1, продолжали работать на Вин10.
    А уж номера сборок в рамках одной версии винды вообще никак не влияют на драйвера, поэтому их никогда не указывают в драйверах.
    Кстати, Вин11, на мой взгляд, больше маркетинговый апгрейд, чем какой-то большой апгрейд ОС. Так что и тут драйвера, почти наверняка, встанут нормально. Хотя, видимо, с точки зрения маркетолога перемещение Task Bar в центр - это хороший повод для увеличения номера мажорной версии.
  • T440p Lenovo, возможно ли установить ОС Windows 10 или 11 22H2?

    @res2001
    Alexander Gor, Ок. У каждого свои критерии выбора.
    На счет драйверов - даже если с дровами от леново, что-то не заладится, пойдете на сайт производителей чипов и возьмете их актуальные драйвера. Правда иногда производители ноутов могут вносить какие-то свои изменения/настройки в стандартные драйвера.
  • T440p Lenovo, возможно ли установить ОС Windows 10 или 11 22H2?

    @res2001
    У меня другой ноут от леново, свежий 22 года выпуска. Все драйвера встали на Вин11 как родные. У меня даже мысли не было, что драйвера от Вин10 не встанут на Вин11 (возможно зря).

    Кстати, не нашел на сайте леново модель T440p из актуальных моделей. Возможно они ее переименовали как-то (или вообще модель больше не выпускается). Но это значит, что вы берете довольно старую сборку. Есть ли в этом смысл? Видимо, этим можно объяснить и отсутствие свежих драйверов - зачем, если модель больше не выпускается.
    Вообще, на мой взгляд, Lenovo ThinkPad серии Т очень достойные ноуты.
  • Как скомпилировать C в FASM?

    @res2001
    Что у фасма какой-то свой синтаксис? Вроде у фасма синтаксис Intel. На сколько знаю есть ассемблерные синтаксисы Intel и AT&T для x32. Не силен в ассемблере.

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

    @res2001
    Можно запихнуть Materials в unordered_map, ключом будет ID.
    Другой вариант - считывать Materials из базы в vector. А в unorderd_map ссылки (или указатели) на объекты из вектора.
    Второй вариант может быть интересен, если поиск объекта надо будет вести не только по ключу. Тогда можно сделать несколько мапов со ссылками на одни и те же объекты из вектора, но с разными ключами.
  • Почему после билда CMake функции из других файлов не вызываются?

    @res2001
    cmake в итоге вызывает компилятор для сборки.
    Так что смотрите консоль с вызовами компилятора.
    Все ли библиотеки подключены, может есть ошибки при сборке и т.п.
    Если бы функции не было в сборке, то компилятор бы выругался на отсутствующий символ и исполняемый файл не собрался бы.
  • Почему в батник не берет элементы из переменной?

    @res2001
    Чтоб работали восклицательные знаки при раскрытии переменных надо где-то в начале добавить команду:
    SETLOCAL ENABLEDELAYEDEXPANSION
    Без нее восклицательный знак - обычный символ.
  • Как сделать факториал деление?

    @res2001
    gelo-147, 1. Если у вас ошибки при выполнении, то давайте сюда код с описанием ошибок
    2. Запишите на бумаге ваше выражение, например, для n=3 (или 4) и попробуйте упростить его - привести к обычной простой дроби.
  • Как убрать ошибки взаимодействия между классами?

    @res2001
    colorname, Что за книжка?
    Избавится от такой зависимости достаточно не сложно.
    Надо выбрать класс в котором меньше всего зависимостей от соседа.
    Например удалим зависимости в screen.h:
    Тогда из screen.h удаляем включение заголовка windows_mg.h.
    Возможно надо добавить в screen.h предварительное объявление класса Windows_mgr:
    class Windows_mgr;
    Как решили выше, объявление friend не нужно - удаляем. Реализацию методов Screen, которые используют Windows_mgr выносим в screen.cpp. В screen.cpp подключаем как screen.h так и windows_mgr.h.
    Таким образом зависимость перенесена в screen.cpp и теперь screen.h может быть успешно подключен в windows_mgr.h.
    Как-то так в общих чертах.
  • Как убрать ошибки взаимодействия между классами?

    @res2001
    Dmitrii, Может и не проблема, надо проверить. Но прагму надо хотя бы написать.
    colorname, Добавьте в самое начало обоих заголовков
    #pragma once
    include guard в этом случае надо убрать.
    И сообщите о результатах компиляции.

    Но правильнее все таки избавиться от такой перекрестной зависимости.
  • Как убрать ошибки взаимодействия между классами?

    @res2001
    colorname, У вас заголовки включают друг друга. В windows_mgr.h подключается screen.h, а в screen.h - windows_mgr.h. Это приводит к тому, что в screen.h не определен класс Windows_mgr и наоборот. Избавьтесь от этой зависимости.
  • Как в С++ получить все возможные двоичные числа определенной длинны?

    @res2001
    x88reg,
    В каком именно из циклов указывать 2^N?

    Ни в каком. У вас нет правильного цикла. Вообще вы решаете задачу ... через жопу, мягко говоря.

    Массив должен быть с одной размерностью равной 2^K (в вашем случае). Его элементам надо присвоить значения по порядку начиная от 0 (т.е. 0, 1, 2, ... 2^K - 1). Затем вывести эти значения в двоичном виде на экран.
    Реально тут можно обойтись и без массива. Но если надо с массивом - пожалуйста.
    Использование VLA - на ваше усмотрение. Я просто предупредил. Если ваш препод будет собирать вашу программу с другими ключами или другим компилятором - она может не собраться.
    Если нужны массивы, то стоит использовать динамический массив или std::vector.

    После ввода значение K следует проверить на попадание в допустимый диапазон. Для int диапазон разрешенных значений для К будет: [1; 31].
    Значение 2^K получается так: 1 << K
    На сколько я помню в потоках ввода/вывода С++ нет стандартного способа вывести число в двоичном виде. Поэтому придется писать самому. Это достаточно просто:
    int v = a[i]
    for(int j = 0; j < K; ++j) {
      if(v & (1 << j)) {
         cout << '1';
      } else {
         cout << '0';
      }
    }
    cout << endl;

    Оформите в виде функции и передавайте в нее очередное значение массива как v.
  • Как в С++ получить все возможные двоичные числа определенной длинны?

    @res2001
    1. 000 - то же возможное число
    2. В цикле [0; 2^N) (где N - длина числа в битах, то что ввел пользователь) инкрементируем переменную (начальное значение 0). Значение этой переменной до инкремента присваиваем очередному элементу массива.
    Размер массива, как можно понять: 2^N
    Останется только решить задачу с выводом целого числа в двоичном виде.

    Массив объявленный как у вас:
    int a[K][N];
    является VLA массивом (Variable-length arrays). В стандарте С++ нет VLA. Использование VLA в С++ является нарушением стандарта.
    То что у вас, возможно, программа компилируется означает, что вы используете gcc/clang с разрешенными расширениями. VLA в gcc разрешены по умолчанию в программах С++ как GNU расширение. Расширения можно выключить, задав строгое соответствие стандарту опцией -std=c++17 например.
    VLA есть в стандарте Си - там это вполне законный инструмент. В С++ программах лучше избегать их использования.
  • Как безопасно и автономно подключать ssl сертификат, что бы к нему был доступ у websocket сервера laravel echo (ispmanager)?

    @res2001
    Защищать нужно только key - это приватный ключ. Сертификат можно раздавать кому угодно - там публичный ключ и другая не секретная информация, типа срока действия, алгоритма и т.п.
    Сделайте скрипт, который будет запускаться после обновления, копировать ключи куда надо и менять права на новых файлах, перезапускать сервис (если нужно), таким образом минимизируете время простоя сервиса.
    Обычно владельцем файла key должен быть тот пользователь из-под которого запущен ваш сервис, права на key - только для чтения этим пользователем. Права на crt можно дать на чтение всем.
  • Как написать батник для добавления прокси?

    @res2001
    На сколько я знаю Хром и Мозила умеют тянуть настройки прокси из системы (edge), видимо опера что-такое то же умеет. Поэтому достаточно изменить прокси для edge и остальные настроить на использование системных настроек.

    Когда-то я делал батник, который меняет настройки прокси, но сейчас у меня его нет. В целом, настройки прокси лежат в реестре, изменять их можно из батника с помощью команды reg /?. Осталось найти в документации какие конкретно ключи реестра отвечают за опции прокси. Можете начать отсюда: https://learn.microsoft.com/en-us/deployedge/micro...

    Так же настройки прокси можно менять с помощью консольной утилиты netsh.
  • Как сделать что бы через некоторое время ноутбук работал от сети?

    @res2001
    mills,
    я работаю сутками

    Так и сгореть можно.
    При длительной работе IPS, пожалуй, лучше, чем OLED, если нет претензий к цветопередаче. У OLED есть ШИМ, из-за него при низкой частоте глаза могут быстрее уставать. В остальном OLED лучше.