Задать вопрос
  • Выводятся какие-то цифры и ошибка, что не так?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Ошибка, если ее перевести, означает: вы вышли за границу массива arr.

    Смотрите внимательно, где вы к нему обращаетесь. Особенно на arr[j + 1]. Какие значения может принимать j? Какой размер массива и, соответственно, к каким индексам можно обращаться?
    Ответ написан
    Комментировать
  • Почему WinAPI выполняет синхронную запись?

    gbg
    @gbg Куратор тега C++
    Любые ответы на любые вопросы
    В мануале прямо написано, что асинхронная операция может выполниться и синхронно - тут уж как венда решит.

    Кстати, чем вам Boost::asio не угодил?
    Ответ написан
    4 комментария
  • Почему WinAPI выполняет синхронную запись?

    @User700 Автор вопроса
    Возможно, дело в этом https://docs.microsoft.com/ru-RU/troubleshoot/wind...

    Расширение файла
    Еще одна причина синхронного завершения операций I/O — это сами операции. На Windows любая операция записи в файл, который расширяет его длину, будет синхронной.

    Примечание

    Приложения могут сделать ранее упомянутую операцию записи асинхронной, изменив допустимую длину данных файла с помощью функции, а затем выпустив SetFileValidData WriteFile .

    Надо пробовать

    Но еще остаётся неясным в чём проблема с незаписью последней порции в режиме FILE_FLAG_NO_BUFFERING даже с учётом выравнивания всего и вся на 512; возможно в вызове CancelIO в close (хотя перед этим есть ожидание wait).
    Ответ написан
    2 комментария
  • Что можно попробовать сделать для восстановления жёсткого диска?

    nidalee
    @nidalee
    никто этот диск ни в какой специализированный дорогой сервис относить не будет
    Что можно попробовать сделать, чтобы диск запустился и хоть что-то с него попытаться вытащить?
    Ничего.
    Ответ написан
    Комментировать
  • Как правильно установить Qt Creator для всех пользователей компьютера?

    borisdenis
    @borisdenis
    Ленив и вреден...
    Часто при установке программа спрашивает ставиться для всех пользователей или только для текущего. Не знаю как это ПО, но по поведению очень похоже, что данное ПО установлено именно для текущего пользователя, поэтому для остальных пользователей не созданы ярлыки и т.п.
    Ответ написан
  • Mount drive Windows 10, как задать специфические символы в пароле?

    @pfg21
    ex-турист
    поставить %% тогда оно преобразуется в %

    разумнее б исключить %$& из пароля ибо интерпретатор пытается воспринять их как спец-символы.
    Ответ написан
    2 комментария
  • Если я подниму свой DNS сервер, я смогу регистрировать домены бесплатно?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Вы можете купить домен и раздавать/продавать его поддомены.
    Ответ написан
    Комментировать
  • Как сложить - 1/3 и 1/5 на с?

    Ты делишь целые числа.
    Попробуй так
    #include <iostream>
    
    int main()
    {
        double a, b, ab;
        a = 1.00 / 3.00;
        b = 1.00 / 5.00;
        ab = a + b;
    
        printf("%f", ab); // 0.53
    }

    И вместо long double - просто double, тк %f - это для double
    Ответ написан
    Комментировать
  • Как уменьшить используемую память?

    15432
    @15432
    Системный программист ^_^
    Если я правильно понял условие, то завести map, считать в нём количество каждого числа на входе, одновременно запоминая у кого максимум.
    Хранить все введенные элементы и тем более квадратично по ним бегать не нужно
    Ответ написан
    Комментировать
  • Чем отличается XEN от OpenVZ?

    @rPman
    Вот популярные системы в порядке понижения функционала:
    Xen — на порядок сложнее и функциональнее, имеет помимо режима паравиртуализации (как openvz) режим полной виртуализации (в т.ч. поддержка соответствующих фич процессоров), есть механизмы переброса железа внутрь виртуалки (например, поддержка не самых слабых intel видеокарт), снапшоты, миграция,… много много вкусных фич.

    VMWare — как и xen, сложен, наворочен, приправлен соответствующей инфраструктурой и хорошими забористыми ценами :) режима полноценной паравиртуализации не имеет

    kvm/qemu — полная эмуляция процессора (а так же виртуализация через поддержку процессорами), есть вкусности от 'старших братьев' вида миграция запущенной виртуалки по сети, переброса железа (сильно хуже поддержка чем xen/vmware) и т.п. можно считать бакэндом, так как GUI в идеалогии не имеет, оно пилится желающим

    VirtualBox — эмуляция процессора, в т.ч. использование поддержки виртуализации процессоров, идеален как отдельное десктопное приложение, миграции по сети нет, есть снапшоты, некоторые вкусности скрыты от GUI в коммандной строке

    OpenVZ — это работа всех машин на одном ядре (патчи к нему так и зовутся openvz), нет виртуализации, максимальная скорость (так как фактически это расширенный chroot с изоляцией). Для запуска модуля ядра на поклон нужно идти к хост системе и ее администратору (например tun/tap адаптер у firstvds дают по запросу)
    Снапшотов нет (но их реализуют через lvm), миграция есть, есть сброс состояния контейнера на диск и возобновление работы…

    Lxc — еще проще чем openVZ, нет даже грамотной изоляции (если подсуетиться, можно, имея рут в контейнере, выйти в хост систему с рутовым доступом), прямой аналог jail во freebsd, имеет смысл для хитрых сетевых конфигураций, тестов и т.п.

    Chroot — это даже не виртуалка, это просто простейшая изоляция в пределах файловой системы, подмена путей в вызовах функций работы с файлами.
    p.s. lxc называют еще 'chroot на стероидах'

    OpenVZ/lxc/chroot поддерживают почти полноценное каскадирование виртуалок (т.е. к примеру можно внутри контейнера openvz запустить kvm/virtualbox при наличии модулей, даже с поддержкой аппаратного ускорения)
    Ответ написан
    6 комментариев
  • Поясните пожалуйста bash скрипт?

    @RayHex
    1. https://tldp.org/LDP/abs/html/process-sub.html
    2. bash это интерпритатор, вы всегда можете вставить куски выражения, и посмотреть что они выдают, например:
    echo <(ls -1 .)
    /dev/fd/63

    3. Ваш код мягко говоря дурно пахнет, а по сути он вообще кривой и будет сбоить на файлах со спецсимволами или даже пробелами. Можно сделать проще и правильнее:
    shopt -s nullglob
    for f in my_temp_dir/*; do
        echo "$f"
    done

    nullglob нужен для случаев когда файлов совсем не будет, без него подставится строка со *, и это может вызвать ошибку в вашем коде.
    Ответ написан
    Комментировать
  • Как исправить и с чем связано stack smashing detected?

    includedlibrary
    @includedlibrary
    Офрмляйте код нормально, пожалуйста, с отступами. Массиву нужен размер, у вас же он равен нулю. Функция get_max ничего не возвращает, хотя заявлен тип int.
    Ответ написан
    Комментировать
  • No boot disk has detected + bootmgr вместе, как починить?

    QQQ-RRR
    @QQQ-RRR
    Привет, если я правильно понял, Вы "отсоединили" загрузочный диск, и подключили "другой". Верните обратно старый, проверьте физическое подключение, выставите порядок загрузки если нужно. Должно помочь
    Ответ написан
    Комментировать
  • Собрать пример CURL-приложения C++11 в MVS2019?

    Nipheris
    @Nipheris Куратор тега C++
    У вас проблемы с линковкой, не настроены или неверно выбраны import-библиотеки или статические библиотеки (зависит от того, как вы планируете линковать libcurl к своему проекту-примеру).
    Также возможно неверно настроены определения комплиятора - некоторые библиотеки требуют задания констант препроцессора при динамической, или наоборот, статической линковке. Например, libcurl требует настройки CURL_STATICLIB при статической линковке.

    Все пакеты установлены из пакетного менеджера VS

    Закопайте эти библиотеки, проект CoApp, который был посвящён идее использовать NuGet для нативных (С/С++) библиотек, умер почти сразу после своего рождения, на границе 2014/2015 годов. Это очень старые версии, к тому же. Практика показала, что NuGet в большинстве случаев не годится для нативных библиотек (не буду расписывать, почему).

    Используйте для C/C++ проектов нормальные пакетные менеджеры вроде Conan или, на худой конец, Vcpkg. Там это всё уже предусмотрено. Впрочем, это не отменяет необходимости понимания простейших ошибок компилятора/линковщика и его основных опций.
    Ответ написан
    1 комментарий
  • Работать в выходные или нет?

    @levsha9413
    Необходимо обязательно отдыхать в выходные, иначе выгорание неизбежно.
    Рабочие задачи - это непрерывный поток, неважно, черпаете вы из него пять дней в неделю или все семь, этот поток не закончится.
    А вы - да.
    Ответ написан
    Комментировать
  • Как преодолевается потеря мотивации в ИТ?

    CityCat4
    @CityCat4
    Дома с переломом ноги
    - Жениться
    - Взять ипотеку
    - Родить парочку детей
    (вовсе не обязательно в такой последовательности :) )
    После всего оного мотивации будет - выше крыши! :)
    Ответ написан
  • Как построить архитектуру приложения?

    @dmshar
    Дело в том, что если сейчас (как я понял, после аж полугода изучения программирования) вы начнете что-то читать по архитектуре программных систем - 90% информации, которую вы найдете вы просто не поймете.
    Ну например:
    https://habr.com/ru/post/276593/
    https://www.rea.ru/ru/publications/AttachmentsLibr...
    https://martinfowler.com/architecture/
    https://www.amazon.com/Fundamentals-Software-Archi...
    И это не ваша вина. Просто проектирование архитектуры - это не то, чем занимаются юниор-программисты. Для того, что-бы нормально спроектировать архитектуру мало знать язык программирования - надо знать еще очень много чего "вокруг". От баз данных до особенностей сценариев взаимодействия компонентов типа Peer-to-peer, Клиент-серверной и прочих (коих десятки) , от умения работать с требованиями до навыков написания технического проекта, от умения обосновать выбор (одной из многих) технологий реализации проекта до умения оценки качества программного продукта, от алгоритмизации до многопоточности, соответствующие инструменты (нотации) и очень много чего еще. Этому всему люди учатся годами. Даже в универах, на соответствующих специальностях вводный курс архитектуры ПО часто читают уже магистрам, и все равно этот курс весьма обзорный и ознакомительный. Поэтому не торопитесь. Займитесь пока усовершенствования своих базовых программистских навыков. И самообразованием в области компьютерных технологий. И наработкой практики. Вот когда вы это все освоите - вот тогда и можно будет задуматься о решении архитектурных задач.
    Ответ написан
    Комментировать