Задать вопрос
  • Почему не работает русский язык в консоли?

    @res2001
    argumentvoid,
    Как это сделать?

    Просто сохраните исходники в UTF8 или конвертируйте. Для хранения строк используйте wchar_t...
    В старых версиях студии таких проблем не наблюдал.

    Вы ошибаетесь. Эта проблема в винде существует изначально. Просто потому, что в ее консоли можно менять кодировку. В никсах, как правило, кодировка устанавливается один раз при установке ОС и обычно это UTF8.
    Виндовая косоль вообще с UTF плохо дружит (в том смысле, что родные виндовые консольные команды ее не понимают).
  • Как работают сигналы вайфай?

    @res2001
    Роутеры, как правило, к интернету подключаются проводом, соответственно ваш радиосигнал полученный роутером по вай-фай конвертируется в сигнал для кабеля. Конечно, есть варианты и беспроводного подключения к интернет. На самом деле как конкретно вы подключены к интернет особой разницы нет.
    Интернет работает на протоколе TCP/IP, почитайте что-нибудь про него, информации много.
    Интернет работает на уровне выше, чем "вай-фай" и другие "железные" каналы связи, поэтому ему без разницы среда передачи данных. Например, когда вы отправляете с телефона запрос веб серверу, то среда передачи поменяется несколько раз пока дойдет до сервера и ответ вернется к вам.
  • Как передать содержимое файла другому процессу через именованный канал? И вывести в файл?

    @res2001
    Я понимаю

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

    @res2001
    Перемещение указателя - это присвоение его значения новой переменной и обнуление старой.
  • Можно ли пользоваться exim на виртуальной машине?

    @res2001
    MaksSmag, домен - это всегда сначала DNS, а потом уже все остальное.
    Я так понял, вы вместе с доменом купили и DNS хостинг. Настройте там вашу зону, добавьте записи для сайта (A) и для почты (MX). Для теста настроек DNS используйте утилиту nslookup или dig в линуксе.
    После того как DNS заработает (nslookup по вашему доменному адресу будет возвращать правильные данные), можете настраивать все остальное: nginx, почтовик, ...
  • С точки зрения закона РФ, правомерно ли использование openssl для ЭЦП и шифрования?

    @res2001
    newvasyuki, Я уже 5 лет не в теме, так что ничего кроме своего устаревшего мнения вам дать не могу.
    Несовместимость проявлялась в том, что файл зашифрованный в одной криптосистеме невозможно расшифровать в другой. В чем конкретно там была не совместимость я не в курсе.
    Читал об этом на сайте криптопро, там же писали, что они что-то делают для улучшения совместимости, но тогда они пытались подружится с продуктами какой-то другой компании (уже не скажу какой именно), а что с остальными - не известно.
  • Можно ли пользоваться exim на виртуальной машине?

    @res2001
    MaksSmag, Просто настройте и работайте, в инете полно инструкций. У меня лет 10 работал почтовик на виртуалке, правда не exim, но это рояли не играет. Думаю, что и сейчас он успешно работает, но уже не у меня :) Наверное я что-то делал не так.

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

    @res2001
    Читайте маны по системным вызовам и принимайте решение, что вы будете делать с ошибками.
    Обычно есть 3 вида реакции на ошибки:
    1.выдать сообщение и завершиться
    2.повторить операцию (EINTR, EAGAIN), возможно не сразу
    3.игнорировать (редкий случай, например когда выставляете слушающему сокету опцию SO_REUSEADDR)

    EINTR - эта ошибка возвращается, когда во время системного вызова приложению приходит сигнал. Реакция зависит от того, как вы обрабатываете сигналы - если перехватываете для корректного освобождения ресурсов или еще для чего-нибудь, то есть смысл просто повторить операцию.
    EIO - низкоуровневая ошибка. Обычно требуется вмешательство человека.

    В общем подходите к обработке ошибок осознано, в зависимости от того, какое поведение требуется в данном конкретном случае. Каких-то единых рекомендаций тут быть не может.
  • Как правильно оформить cmake файл?

    @res2001
    Или, возможно, ${LIBSSH_INCLUDE_DIRS} - увидел в одном проекте на гитхабе такой вариант, хотя это и не соответствует документации по cmake.
  • Как правильно оформить cmake файл?

    @res2001
    Tynkute, У вас не правильно использованы имена переменных для подключения библиотеки, которые генерирует find_package. Нужно использовать: LIBSSH_LIBRARIES и LIBSSH_INCLUDE_DIRECTORIES.
    Это видно из вывода cmake - в текущем варианте переменная LIBSSH_INCLUDE_DIR пустая.

    Кстати, в main.c вы можете использовать #include без указания каталога.
  • Как правильно оформить cmake файл?

    @res2001
    Вывод сборки приведите.

    find_package сам умеет выдавать сообщение, о том что пакет не найден и завершать сборку. Этого можно добиться задав параметр REQUIRED.

    Вы можете вывести на экран переменные, которые сгенерировал find_package и убедиться, что там правильные значения:
    message(STATUS "LIBSSH_INCLUDE_DIR: ${LIBSSH_INCLUDE_DIR}")


    В cmake имена переменных регистрозависимые, а вы в одном случае используете libssh в другом LIBSSH - определитесь как-нибудь.
  • Вызов командной строки из консоли?

    @res2001
    Михаил Main, Общий принцип, если вам нужно управлять запущенной консолью (или другим приложением) - это перенаправить стандартные потоки ввода вывода (stdin, stdout, stderr) в каналы (pipe). Используя первые части каналов в своей программе вы можете отправлять cmd нужные команды на выполнение и получать вывод команд. Вторые части каналов будет использовать cmd.
    Соответственно, гуглите по перенаправлению ввода/вывода, а затем читайте микрософтовскую документацию. Кстати у микрософта есть уже готовые примеры на эту тему, когда-то натыкался.
  • Вызов командной строки из консоли?

    @res2001
    Михаил Main, В cmd нет команды end, соответственно она не закроется.
    Я имел ввиду, что, видимо в cmd вы захотите выполнить какую-то команду, затем, возможно вы захотите получить вывод этой команды в вашей программе и как-то обработать его или просто получить код возврата. Обычно для этих целей программно запускают cmd.
  • Вызов командной строки из консоли?

    @res2001
    Вызвать командную строку не проблема. Но что вы хотите делать с ней дальше? От ответа на этот вопрос зависит и вариант вызова командной строки.
    В варианте в ответе ниже через system() с cmd вы ничего не сможете сделать из программы, и ваша программа будет ждать пока не завершиться cmd.exe, как правило, требуется иное поведение.
  • Как кидать исключения при работе с try catch?

    @res2001
    Vladimir S, вы можете использовать std::ifstream.read(), для чтения сразу всего массива, а не читать его поэлементно. Видимо, именно на этом вы теряете скорость.
  • Задача на многопроцессорное программирование в c?

    @res2001
    Все таки многопоточность или форк?
    Форк - это многопроцессность - разные адресные пространства.
    Многопоточность это pthread_create() (и т.п.) в линукс - это одно адресное пространство.
    Проще в многопоточном варианте решать вашу задачу, а не в многопроцессном, т.к. результат вычислений в каждом потоке не нужно передавать управляющему потоку - он и так уже будет известен благодаря общей памяти.

    В целом алгоритм достаточно прост - разделяете ваш массив на N кусков (по количеству реальных ядер процессора), для каждого куска находите смещение начала и смещение конца (естественно надо найти для каждого куска первую открывающую скобку и последнюю закрывающую). Запускаете на каждый кусок свой поток, который будет работать в пределах выделенного диапазона.
    После того как все потоки завершаться вам останется только в основном потоке выбрать максимум из результатов вычислений.

    Для варианта с форком все примерно так же, только надо продумать как передать новому процессу его диапазон и как возвратить результат основному процессу.

    Удачи!
  • Как исправить ошибку при загрузке Windows?

    @res2001
    Вам нужно загрузиться с флэшки? Для чего?
    Если установить винду, то для изготовления загрузочной флэшки используйте родную микрософтовскую софтину (Media Creation Tool), она сама скачает правильный образ и зальет его на флэшку как надо.
    Если вам нужна загрузочная диагностическая флэшка - используйте проверенную сборку. Я использую adminpe.ru, ни разу не подводила. Инструкция по созданию загрузочной флэшки есть в комплекте.
  • С++. Написать функцию, которая возвращает количество элементов одного массива в другом. Как написать с помощью бинарного поиска?

    @res2001
    Saa005, То ли у вас код весь поехал, то ли еще что, но в таком виде вряд ли у вас код собирается.
    Спрячьте код под тег и верните отступы.
  • Почему в потоке иногда неправильно берется переменная?

    @res2001
    Евгений Якушов, На счет getx: тут два варианта, либо какой-то поток параллельно изменяет значение. Либо у вас плавает state. Если state.x не атомарная переменная, то функция в таком виде не потокобезопасна.