• Как создать проект на си в Visual studio 2017?

    @res2001
    Developer, ex-admin
    pthread - это POSIX библиотека, т.е. никсовая. В винде она как дополнительная абстракция над родным интерфейсом идет в составе mingw или cygwin.
    В винде есть свои потоки, WinAPI с MSDN вам в помощь.
    Если очень надо или нужно кросплатформенное средство, то можно и pthread использовать, но для этого действительно проще пересесть на другую IDE. Например Eclipse + mingw.
    А для кроссплатформенности лучше использовать что-нибудь типа boost или Qt - и там и там есть свои кроссплатформенные реализации потоков. При этом в никсах они будут использовать pthread, а в винде - виндовые потоки и вам не придется вникать в тонкости реализации потоков в WinAPI или pthread, вникните только в тонкости boost или Qt.
    Ответ написан
    Комментировать
  • Svсhost и процессор?

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

    @res2001
    Developer, ex-admin
    В батнике создавайте временный файл-флаг, как-то так:
    echo.>file.flag
    В самом начале батника проверяйте есть ли этот файл, если файл есть то завершаете батник (предыдущий запуск еще не отработал), если файла нет - работаем дальше (и создаем этот файл). По окончании работы - удаляем файл- флаг.
    Другие варианты обнаружения запущенных копий того же батника:
    1.аналогично файл-флагу - флаг в реестре
    2.можно с помощью tasklist проверять запущен ли процесс с таким же батником.

    Побочные эффекты: если батник по какой-то причине не удалит файл-флаг, то следующий процесс никогда не запустится.
    Ответ написан
    8 комментариев
  • Как отправлять сообщения через msg всем пользователям RDP?

    @res2001
    Developer, ex-admin
    msg /?
    msg * /TIME:500 /server:Teplomir-repl Создан новый документ !!!!
    Ответ написан
  • Где посмотреть логи ошибок принт-сервера?

    @res2001
    Developer, ex-admin
    Копайте в виндовые журналы и мануал по принтеру с описанием ошибки.
    Прерывает печать сам аппарат? С какой ошибкой?
    Ответ написан
  • Что это за IP адреса, как это устроено, и для чего?

    @res2001
    Developer, ex-admin
    Первый - это серый IP, второй то же, третий - маска 32.
    У вас провайдер требует авторизации через ppp.
    Первый адрес получает интерфейс от DHCP сервера оператора для доступа к ppp серверу.
    Второй адрес получает ppp интерфейс после авторизации на ppp сервере.
    А в интернет вы выходите через NAT оператора с его белым адресом, которого в вашем списке нет.
    Ответ написан
    Комментировать
  • Как создать pki с помощью easy-rsa?

    @res2001
    Developer, ex-admin
    build-ca и прочие скрипты были во 2 версии easy-rsa, в третьей только один скрипт - easyrsa, но с теми же параметрами. easy-rsa - это надстройка над openssl, просто скрипт, автоматизирующий операции.
    Я с 3 версией дела не имел, как-то все время попадалась 2 версия. Откройте скрипт в текстовом редакторе, там обычно довольно внятные комментарии. Имея инструкцию для 2 версии можно ее достаточно легко адаптировать к 3 версии, я так думаю. Скрипт vars так и остался с предыдущей версии. В vars инициализируете переменные для генерации ключей, которые будут использоваться в основном скрипте.
    PS: не так давно настраивал OpenVPN для винды, комплект брал с сайта разработчика, там еще были скрипты второй версии. Но для винды скрипты easy-rsa всегда требовали доработки напильником.
    Ответ написан
  • Как осуществить установку программ на диск D:, включая каталоги AppData с полной отвязкой от C:?

    @res2001
    Developer, ex-admin
    1.Обычно при установке программе можно указать куда ее ставить.
    2.Многие программы не переживут переустановку ОС, даже если будут установлены на другой диск, все равно потребуется переустановка программы.
    Узнать это о программе можно так: установить ее штатно; скопировать каталог с программой в другое место; удалить программу штатно; попробовать запустить программу из скопированного места. Если программа заработает, то скорее всего она переживет и переустановку ОС, если нет - не переживет и переносить ее в другое место бесполезно. Кстати нужно проверять не только запуск но и функционал программы, бывает что программа запускается, но какой-то функционал отваливается и при попытки вызова функций появляется ошибка.
    3.Перенесите профиль пользователя на другой диск. Вот тут я уже описывал этот процесс. Вместе с профилем перенесется и AppData пользователя и %TEMP% и профили браузеров и т.п., которые отъедают изрядно дискового пространства.
    4.ProgramData - не трогайте. Это профиль "All users" или "Public" - там полно символических ссылок и если его начать переносить может отвалится много чего, т.к. символические ссылки при переносе испортятся. Теоретически все ссылки можно восстановить (или перенести скриптом), но полноценной автоматической реализации этого процесса я не встречал, а руками - это займет много времени.
    5.Использовать какие-то дополнительные инструменты для чистки реестра и удаления программ, имхо, не имеет смысла. Винда нормально с этим справляется сама. Так же в Вин7 и выше есть довольно мощный мастер очистки, который много чего умеет.
    Ответ написан
    3 комментария
  • Процесс System потребляет до 50% CPU. Windows Server 2012 и 2012 R2. Как исправить?

    @res2001
    Developer, ex-admin
    Если терминальный сервер, то возможно виноват драйвер принтера, но обычно в этом случае жрет процессорное время spoolsv.exe.
    Так же возможно одна из служб: служба индексации, служба обновления.
    Остановите их по очереди и посмотрите на реакцию.
    Ответ написан
  • Как запрещают возможность видеть остальных в wifi кроме себя и железки?

    @res2001
    Developer, ex-admin
    У вас открыто много "вещей", но вы боитесь, что кто-то их заюзает.
    Для кого они открыты тогда? Если не нужно, чтоб их юзали - закройте.
    Можно открыть для конкретного адреса, группы адресов, только для локального компьютера - смотрите настройки правил фаервола.
    Чтобы отключить пинги и виндовую сеть - в параметрах общего доступа отключите "общий доступ ..." и "обнаружение сети", включите парольный доступ и максимальное шифрование.
    Доступ к другим портам и сервисам нужно регулировать с помощью правил фаервола.
    Ответ написан
    Комментировать
  • Как организовать два активных канала интернет, FreeBSD 11?

    @res2001
    Developer, ex-admin
    Правильное впечатление создается - уходят на шлюз по умолчанию. И это нормальное поведение.
    Хотя FreeBSD поддерживает множественные шлюзы по умолчанию, но при этом она работает не так как хочется (на сколько помню она по раунд-робину меняет эти шлюзы от пакета к пакету, это явно не то что нужно).
    Можно это сделать с помощью nat global и множественных таблиц маршрутизации.
    Для балансировки исходящих пакетов можно использовать ipfw probe.
    Почитайте эту статью: ipfw.ism.kiev.ua/pbr.html, хотя она старая и там используется natd, но то же самое можно и на ядерном нате сделать.

    PS: реализовывал эту задачу года 3 назад, ушло много времени на отладку. Правда у меня была конфигурация по сложней и вариант из статьи мне мало помог.
    Ответ написан
    Комментировать
  • Роутер постоянно вышибает сетевые порты?

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

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

    @res2001
    Developer, ex-admin
    Пишите официальное письмо директору местного филиала, в письме опишите проблему и этапы обращения в поддержку с датами, номерами и т.п.
    Если через месяц ответа не будет в каком-либо виде, то уходите к другому оператору. Об этом можно сообщить в письме.
    Ответ написан
    2 комментария
  • Состояние монитора в Windows?

    @res2001
    Developer, ex-admin
    Поэкспериментируйте с утилитой powercfg.
    Например, может быть подойдет powercfg /requests
    Ответ написан
    Комментировать
  • В каких случаях эффективнее дублирование кода вместо вызова функции?

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

    @res2001
    Developer, ex-admin
    Стоит для начала разобраться как работает Си: динамическая память, указатели, массивы, строки, структуры и массивы структур, указатели на них, адресная арифметика. Это база.
    На эту базу положите ООП. В свое время С++ начинался как набор макросов для Си.
    Так будет проще понять как организованы классы внутри.
    Ответ написан
  • Как запустить сервер OpenVPN на Windows?

    @res2001
    Developer, ex-admin
    Не знаю как сейчас, а года 2-3 назад скрипты для генерации ключей под Windows из состава дистрибутива OpenVPN без допиливания не работали, поэтому я обычно делал ключи на линукс - там они давно обкатаны и работоспособны.
    Ответ написан
    Комментировать
  • Как удалить все файлы и подпапки, кроме заданного файла с сохранением его пути (подпапок)?

    @res2001
    Developer, ex-admin
    @echo off
    set "pathdir=c:\script\test\del"
    set "filename=special-folder\file.php"
    for /f "tokens=* delims=" %%b in ('dir /a:-d /b /s "%pathdir%\*" 2^>nul ^| findstr /v /c:"%filename%" 2^>nul') do (
      del /q /f "%%~b" 2>nul
    )
    for /f "tokens=* delims=" %%a in ('dir /a:d /b /s "%pathdir%" 2^>nul') do (
      dir /a:-d /b /s "%%~a\*" 1>nul 2>&1 || rd /s /q "%%~a" 2>nul
    )

    Код сохраните в .bat файл, инициализируйте правильно переменные: pathdir и filename.
    И потренируйтесь на "кошечках".
    Ответ написан
    1 комментарий