Задать вопрос
  • Как избавиться от червя или что это за штука?

    @res2001
    Developer, ex-admin
    Вот тут пишут, что JRT не поддерживается разработчиком с 2018 года.
    Комп может "тупить" по разным причинам, вирусы это только одна из них и, похоже, не самая распространенная по нынешним временам.
    Когда комп начинает тупить попробуйте начать с менеджера задач и посмотреть какой процесс отжирает процессорное время и создает дисковую нагрузку. Найдете виновника, тогда можно будет подумать, что с ним делать. В менеджере задач можно добавить колонку, содержащую командную строку процесса, там вы сможете увидеть путь где лежит исполняемый файл процесса и параметры, с которыми он запускается.
    Так же комп может тупить, когда сыпется диск. Есть смысл провести полный тест поверхности диска.
    Ответ написан
    4 комментария
  • Есть ли возможность ускорить соединение если подключиться к провайдеру несколько раз?

    @res2001
    Developer, ex-admin
    Собирал подобный конструктор, но цели были другие - отказоустойчивость в первую очередь, балансировка нагрузки во вторую.
    Собирал на FreeBSD + 2 разных провайдера. Вся регулировка трафика проводилась правилами ipfw (это фаервол FreeBSD) + множественные таблицы маршрутизации. При мне схема успешно отработала лет 5. Сейчас не знаю, жива ли.
    Гуглите по "Policy-based Routing" для начала.
    Ответ написан
    Комментировать
  • Где хранится nullptr? Для разных программ она разная?

    @res2001
    Developer, ex-admin
    nullptr - сам по себе это константа (сейчас не важно ее реальное значение). Где хранится, например, 2 или 100500?
    Вот когда вы сделаете присваивание:
    void *ptr = nullptr;
    То в указателе ptr будет хранится значение nullptr.
    Если посмотрите асемблерный код подобного присваивания, то там будет что-то вроде:
    mov ax, 0;
    В данном примере считаю, что значение nullptr - это 0. Тут видно, что nullptr хранится прямо в коде и является одним из операндов ассемблерной команды mov.
    Про то что хранится в памяти, куда указывает nullptr (и ptr из примера), написал Mercury13
    Ответ написан
    Комментировать
  • Есть ли механизм работы с сокетами в C++?

    @res2001
    Developer, ex-admin
    Ни в одном языке нет подобных функций. Просто потому, что это API операционной системы, а ОС, обычно пишут на Си. Но даже в Си их нет - это функции ОС.
    Но полно библиотек, которые оборачивают ОС API в классы. Пользуйтесь. Их достаточно много. Хорошие варианты привел @gbg

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

    @res2001
    Developer, ex-admin
    Числа с плавающей точкой по определению приближенные. Каждая операция над подобными числами вносит свою погрешность в результат. Так что не стоит удивляться. В какую сторону и на сколько будет погрешность, думаю, это можно посчитать, но для этого надо копнуть глубже.
    Для проверки можете просто вывести результат 2 сложений, потом трех, ... А так же проверьте результат умножения.
    Тут много интересного можно для себя открыть.
    Так же небезъинтересно сравнить результат одних и тех же вычислений над double и float.
    Даже и не надейтесь в плавающей точке получить какой-то точный результат. Если нужна точность, то надо использовать фиксированную точку.
    Ответ написан
    Комментировать
  • Как удалить McAfee?

    @res2001
    Developer, ex-admin
    Помнится у McAfee была свободная утилита, удаляющая их продукты. Что-то типа McAfee Cleaner, точно названия не помню. Была доступна на их сайте. Пользовался иногда ею, когда использовал корпоративный McAfee.
    Ответ написан
    Комментировать
  • Где то слышал что префиксный инкремент работает быстрее чем постфиксный. Это так?

    @res2001
    Developer, ex-admin
    Не замерял скорость. И даже не смотрел в дизасемблере реализацию.
    Но предлагаю просто разложить обе операции на примитивные ассемблерные инструкции (где нет инкремента, данные хранятся в памяти, а считаются в регистрах). Примерно так будет в псевдокоде:
    int preinc(int i) {
      mov r1, [i];
      add r1, 1;
      mov [i], r1;
      return r1;
    }
    int postinc(int i) {
      mov r1, [i];
      mov r2, r1;
      add r2, 1;
      mov [i], r2;
      return r1;
    }

    Видно, что у постфиксного варианта на одну операцию больше, чем у префиксного. А так же постфиксный использует 2 регистра, тогда как префиксный 1.
    Логика работы префиксного проще и понятней. Так что используйте по умолчанию всегда префиксный. И только тогда когда действительно необходимо постфиксный.

    А теперь представьте, что операция производится не надо встроенным типом, а надо классом. В этом случае дополнительные затраты могут быть гораздо существенней.
    Ответ написан
    2 комментария
  • Работа с 127.0.0.0/8 на одном хосте?

    @res2001
    Developer, ex-admin
    Что такое модули в вашем понимании?
    Зачем нужны разные адреса на одном хосте? Вам не достаточно разных портов?

    Но в принципе, да, работать будет. Все адреса из этой подсети принадлежат локальному хосту. По крайней мере в винде так. Можете в любое время успешно пропинговать любой адрес из этой подсети (кроме широковещательного). За другие ОС не поручусь, не проверял, но, по идее, то же должно быть аналогично.
    Ответ написан
    2 комментария
  • Почему бы вместо абстрактного класса не делать обычный, но с пустыми методами?

    @res2001
    Developer, ex-admin
    Не в курсе как-там в PHP это работает, но в принципе, абстрактные классы вынуждают наследников переопределять абстрактные методы. Использовать не переопределенные абстрактные методы невозможно - будет ошибка.
    В случае же обычного класса и пустого метода - вы запросто можете использовать не переопределенные в наследнике методы. Никакого эффекта от такого использования не будет (метод же ничего не делает), но и ошибки не будет.
    Ответ написан
    Комментировать
  • Как работают dll файлы?

    @res2001
    Developer, ex-admin
    Читайте для прояснения: https://docs.microsoft.com/en-us/windows/win32/api...
    При загрузке dll функцией LoadLibrary вызывается функция DllMain, которая может присутствовать в dll. Она же вызывается и в других случаях. Из этой функции вы уже можете вызывать другие функции внутри dll.
    Если же вам просто нужно вызвать какую-то функцию dll, например, из командной строки, без программирования, то смотрите ответ Константин Цветков
    DLL то же исполняемый файл, в том смысле, что внутри содержится исполняемый код. Но DLL отличаются от EXE и их нельзя запустить непосредственно. Нужен посредник (EXE), который прямо или косвенно будет импортировать функции DLL и вызывать их. Rundll.exe является "универсальным" посредником, но он, конечно, далеко не универсальный, его можно использовать только в простых случаях..
    Ответ написан
    Комментировать
  • В чем ошибка, если с кодом все нормально?

    @res2001
    Developer, ex-admin
    https://docs.microsoft.com/en-us/previous-versions...
    По ссылке видно, что функция URLDownloadToFileW объявлена в Urlmon.h и определена в Urlmon.dll.
    Т.к. ошибка на стадии линковки, то компиляция прошла успешно, а значит Urlmon.h так или иначе подключается в процессе компиляции. Но Urlmon.lib не добавлена в опции линковки, из-за чего и возникает ошибка.
    Ответ написан
    Комментировать
  • С++ Как замедлить выполнение цикла while?

    @res2001
    Developer, ex-admin
    Добавить внутрь цикла паузу в 1 секунду.
    Ответ написан
    Комментировать
  • Как лучше разместить в оперативной памяти массив комплексных чисел с точки зрения производительности?

    @res2001
    Developer, ex-admin
    Удобнее использовать массив структур:
    struct complex_t {
    float re, im;
    };

    Смысл тот же, что и в c[2*N], но пользоваться удобнее и читабельность кода повышается.
    Учтите, что операции над double обычно выполняются дольше, чем над float.
    Ответ написан
    Комментировать
  • Как адаптировать код Matlab в Python?

    @res2001
    Developer, ex-admin
    Подскажите, пожалуйста, что делать?

    Читать документацию по используемым функциям и операциям, искать различия и приводить python код в рабочее состояние.
    Ответ написан
    Комментировать
  • Нужен ли Ping с VirtualBox на основную ОС?

    @res2001
    Developer, ex-admin
    должен ли вообще пинговаться виндовс с центоса?

    Т.к. Cent OS (ВМ) и Винда (хост) на одной машине, то пинги между ними будут. Другое дело, что их может блокировать фаервол хоста или ВМ.
    Если вам для чего-то нужен пинг - можете заморочится этим вопросом и отрегулировать фаерволы.
    Но если оставите все как есть - то же ничего страшного не произойдет.

    Конкретно в такой конфигурации вообще наплевать есть ли пинг или нет. Сами по себе пинги нужны для определения доступности узла по сети. Но в вашей конфигурации оба узла доступны друг другу априори и проверять это нет смысла.
    Ответ написан
    Комментировать
  • Какой компонент в linux решает, через какой интерфейс соединиться с IP адресом?

    @res2001
    Developer, ex-admin
    Вся маршрутизация зашита в логику работы стека TCP/IP. Управляется таблицей маршрутизации. За доступ в интернет отвечает в таблице маршрутизации запись о маршруте по умолчанию. Таких маршрутов может быть несколько с разными метриками (приоритетами). Используется тот маршрут у кого приоритет выше.
    Так же и таблиц маршрутизации может быть несколько - это вариант как раз для ситуации, когда есть несколько каналов в интернет и нужно сделать балансировку нагрузки или отказоустойчивость (или гибридную схему). С помощью грамотной настройки фаервола и дополнительных скриптов можно все это организовать. Это уже придется делать самому, или использовать сторонний софт/железо. Но инструменты для подобных вещей есть.

    Если интернет не доступен по заданному маршруту, то пакеты все равно будут отправляться и будут где-то пропадать. Так что ответов не будет или будет ответ с ошибкой. Соединения будут отваливаться либо по тайм-ауту, либо по ошибке.
    Ответ написан
    Комментировать
  • Почему команда не работает через make, но работает через консоль?

    @res2001
    Developer, ex-admin
    Попробуйте в путях в makefile использовать противоположные слеши (Unix style).
    Ответ написан
    Комментировать
  • Как создать с нуля ISO файл операционной системы?

    @res2001
    Developer, ex-admin
    Изучите формат файла ISO и напишите свою программу для генерации ISO.
    Ответ написан
    Комментировать
  • Как использовать переменную из функции внутри класса для работы с другими функциями?

    @res2001
    Developer, ex-admin
    У вас эта переменная уже объявлена глобальной в CopyTextToClipboard global id_num. Сделайте такое же объявление во всех необходимых местах и используйте. И объявите эту переменную явно в глобальной области видимости.
    это несколько противоречит принципам ООП

    Не то что бы. Нужно больше информации об архитектуре приложения чтоб делать такие выводы.
    Можно вместо глобальной переменной сделать возврат значения из функции, или сделать эту переменную членом класса и сделать getter для получения значения переменной, и т.д. и т.п. Но за вас выбрать подходящий вариант никто не сможет.
    Ответ написан
  • Как в JS запустить cmd-код без предварительного создания самого cmd-файла?

    @res2001
    Developer, ex-admin
    Передавайте команду в параметрах к cmd. В командной строке это выглядело бы примерно так:
    cmd.exe /C @for /f %i in ('set /a 1^^^<^^^<10') do @for %j in ("C:\Users\username\Downloads\test5\yd\*.txt") do @if %~zj leq %i del "%j"

    Обратите внимание, что к переменным цикла из командной строки надо обращаться через 1 знак процентов, а не через 2 как в батнике.
    ЗЫ: Не понял, что это вы за конструкции соорудили в set. По моему она не работает. И что она вообще должна делать я не представляю. А вы?
    Ответ написан
    3 комментария