• Как сделать так что бы html читал переменные из батника??

    @res2001
    Developer, ex-admin
    Подменяете в HTML файле некую кодовую строку на значение переменной окружения, сохраняете в новый временный файл и открываете его в браузере. Чем подменять - дело техники, я бы видимо использовал sed. Будет такой двухстрочный батник.
    Ответ написан
  • Как происходит соединение peer-to-peer, если оба человека сидят на внутренних ip (за NATом)?

    @res2001
    Developer, ex-admin
    Либо дырявят свой НАТ с помощью UPnP, либо используют для связи UDP, а координаты второй стороны получают от общего сервера. Примерно по такой же схеме работает VoIP за NATом (смотри протокол STUN).
    Ответ написан
    Комментировать
  • На чем написать кроссплатформенный GUI?

    @res2001
    Developer, ex-admin
    Самое выгодное - это то что вы лучше всего знаете.
    Если важна производительность то берите С++ или другой компилируемый язык. Но это на самом деле сильно зависит от задачи, где-то и python с php вполне хватает. Сам по себе GUI не требует особой производительности (если вы обычное приложение пишите, а не игрушку на 120FPS).
    Можете юзать Qt на python и не слезать со своего любимого коня.
    Ответ написан
    Комментировать
  • Пишу кейлоггер на c++ и встретился с ошибками. Как их пофиксить?

    @res2001
    Developer, ex-admin
    Там где у функций WinAPI на входе параметр типа xxxWSTR - значит она ждет от тебя wchar_t, а не обычный char.
    Для большинства функций WinAPI работающих со строками есть 2 варианта одной и той же функции, один вариант принимает char, другой вариант wchar_t. Внутри винды используется wchar, так что есть смысл и в своих программах всегда использовать wchar, что бы избежать дополнительных преобразований.
    Ответ написан
  • Какой компилятор ОС Linux переводит написанный мной код в двоичный код?

    @res2001
    Developer, ex-admin
    php - интерпретируемый язык. Т.е. он не переводится в маш.код. Исходный код на PHP исполняет интерпретатор языка php.
    HTML - вообще не имеет отношения к маш.кодам - это язык разметки. Его интерпретирует браузер, строит на его основе DOM и рисует веб страничку.
    Ответ написан
    Комментировать
  • Как присовить WCHAR* константное значение?

    @res2001
    Developer, ex-admin
    Объявите массив
    WCHAR targetWindowName[]
    и скопируйте туда свою константу используя, например, std::wcsncpy
    Ответ написан
    Комментировать
  • Как избавиться от червя или что это за штука?

    @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 код в рабочее состояние.
    Ответ написан
    Комментировать