• Как правильно настроить видеоплеер в Linux?

    TrueBers
    @TrueBers
    Гуглю за еду
    Попробуйте плеер mpv. Никогда не было с ним проблем по форматам. Тянет хоть 8к видео без проблем.
    Ответ написан
    Комментировать
  • Как пробросить видеокарту в программе VMwere Workstation?

    TrueBers
    @TrueBers
    Гуглю за еду
    Вам нужно убедиться, что ваша плата поддерживает технологию VT-d. Это раз.

    Два. Чтобы пробросить видеокарту в гостя, на хосте она должна быть отключена. Т. е. Хост у вас остаётся без монитора. В случае хоста с виндой, вам, скорее всего, придётся брать вторую видеокарту, ибо, я сомневаюсь, что винда, как линукс, может просто так взять и выгрузить драйверы видео, оставшись при этом функционировать и потом обратно их подгрузить...

    Если плата поддерживает технологию, то проще поставить линукс с kvm и в нём придётся пошаманить с детачем всех модулей, которые используют видео-драйвер. При этом ещё нужно будет одно устройство, чтобы дебажить это дело по ssh, когда монитор проброшен на гостя, который не запустился :D
    Ответ написан
  • C++ std::thread разное поведение на linux и windows, в чем может быть проблема?

    TrueBers
    @TrueBers
    Гуглю за еду
    Изучите буфферизацию стандартных потоков, там много нюансов.

    1. Как вариант, используйте std::cerr, он небуфферизирован, но вывод будет идти в stderr. Для буферизированного stderr используйте std::clog
    2. Второй вариант: если не нужна новая строка, используйте явный << std::flush.
    3. Если нужна новая строка в конце и сброс буфферов, добавляйте к потоку << std::endl. Он содержит в себе неявный flush.
    4. std::cout же пишет в собственный буфер, а когда он сбросит его в stdout, никто кроме него самого не знает. Для важных данных его не используют, для быстрых и частых — тоже, т. к. медленный.
    Ответ написан
    2 комментария
  • Как выключить ПК средствами Си?

    TrueBers
    @TrueBers
    Гуглю за еду
    Так вы не находите код с бездумным копированием его в исходники, а разберитесь как он работает, какие бывают интерфейсы для управления питанием. Убедитесь, какие интерфейсы поддерживает ваша система, биос.

    Гуглите APM power off, либо ACPI global state G2 (или sleep state S5).

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

    А у вас какой-то кусок из APM, выдранный непонятно откуда. Почему он по-вашему должен заработать?

    Откройте исходники любой современной ОС, и посмотрите, как там сделано. Там всё порядком посложнее, чем просто 5 команд.
    Ответ написан
    1 комментарий
  • Получить handle и размер файла С++?

    TrueBers
    @TrueBers
    Гуглю за еду
    Код
    #include <iostream>
    #include <numeric>
    #include <fstream>
    #include <filesystem>
    namespace fs = std::filesystem;
    
    using file_buffer_ptr  = std::unique_ptr<std::vector<char>>;
    using file_buffer_iter = std::istreambuf_iterator<file_buffer_ptr::element_type::value_type>;
    using file_list        = std::vector<file_buffer_ptr>;
    
    static file_buffer_ptr fillBuffer(const fs::path &currentFile)
    {
        auto fileBuf = std::make_unique<file_buffer_ptr::element_type>();
        fileBuf->reserve(fs::file_size(currentFile));
    
        std::ifstream fileStream(currentFile, std::ios::binary);
        fileBuf->assign(file_buffer_iter(fileStream), file_buffer_iter());
    
        return fileBuf;
    }
    
    int main()
    {
        file_list files;
        auto directory = "/tmp";
    
        try {
            for (auto& currentFile: fs::recursive_directory_iterator(
                                        directory,
                                        fs::directory_options::skip_permission_denied
                                    )) 
            {
                if (!fs::is_regular_file(currentFile))
                    continue;
    
                files.emplace_back(fillBuffer(currentFile));
            }
        } catch (const std::exception &e) {
            std::cerr << "Error: " << e.what() << std::endl;
        }
    
        std::clog << "Found " << files.size() << " files, total size " << 
            std::accumulate(files.begin(), files.end(), 0,
                [] (file_buffer_ptr::element_type::size_type total, const file_buffer_ptr &b) {
                    return total + b->size();
                })
        << " bytes" << std::endl;
    
        return 0;
    }


    А handle никак не относится к C++, это фича конкретной операционной системы.
    Ответ написан
    Комментировать
  • AMD Ryzen и эмулятор в Android Studio?

    TrueBers
    @TrueBers
    Гуглю за еду
    Расширения для виртуализации эмулятора пишет Интел. Вы от него ждёте поддержки AMD-V?
    Используйте kvm, как пишут на реддите. Винда вообще с трудом подходит для разработки под Андроид. А под линуксами всё отлично летает.
    Ответ написан
    Комментировать
  • Что должен знать, помимо ЯПа крестовый джун?

    TrueBers
    @TrueBers
    Гуглю за еду
    Нет в C++ никаких трендов. Здесь как писали 20 лет назад, так и пишут.

    STL, Boost, Qt, WinAPI, MFC, POSIX, BSD, OpenCV популярен очень. Отладчики WinDBG, Visual Studio, gdb, lldb. Компиляторы clang, gcc, MSVC++. Системы сборки make, Cmake, MSBuild. Среды разработки Visual Studio, Clion, QtCreator. Ассемблер ещё знать желательно, основы работы кеша и памяти, как процессор попадает в кеш, как промахивается, почему один способ обхода памяти тормозит, а другой работает быстрее.
    Есть, конечно, и хипсторы местные со всякими Rx'ами, интеграциями Node.js'а и прочими биткоинами. Но таких мало и они быстро сливаются в другие языки, остаётся классика.
    Системы контроля версий к C++ никак не относятся. Хоть на дискетке почтой посылайте, никто вас не заставит. Везде гит, преобладает, как и в остальном мире.
    Из относительно нового только, что GSL из Core Guidelines да folly от фейсбука.

    Проблема вакансий в другом: чистый плюсовик почти никому не нужен. Обычно плюсовиков ищут совмещающих с джавой, шарпом, даже питоном и джаваскриптом.
    Ответ написан
    1 комментарий
  • Где найти литературу по 0 day уязвимостям?

    TrueBers
    @TrueBers
    Гуглю за еду
    Уважаемый "Энтузеаст", 0-day, он на то и 0-day, что о нём неизвестно никому, кроме того, кто его открыл и пользуется. Эти уязвимости продаются за сотни тысяч долларов, кто ж их вам на блюдечке отдаст то просто так? Учитесь искать их сами.
    Ответ написан
    2 комментария
  • Как в C/C++ нарисовать свое окно без winapi?

    TrueBers
    @TrueBers
    Гуглю за еду
    Можете свою оболочку explorer написать на OpenGL или DirectX, например. А лучше, идите работать, вас там займут делом.
    Ответ написан
    2 комментария
  • Какую видеокарту выбрать под i5 2500k?

    TrueBers
    @TrueBers
    Гуглю за еду
    Ваш процессор поддерживает 16 каналов PCIe, а материнка — PCIe 3.0. Соответственно, видеокарта отлично будет работать, если в PCIe больше не подключено никаких других устройств, которые займут каналы.
    А 1060 — отличная карточка. Если хочется сэкономить до 30% и есть возможность взять 3гб вместо 6-ти, то берите 3, разницы не будет, а цена прилично ниже.
    Ответ написан
  • Где найти пример UDP сервера на асинхронных сокетах?

    TrueBers
    @TrueBers
    Гуглю за еду
    Так, а в чём принципиальная разница с TCP то? Там же ещё проще должно быть: не нужны никаких обработки коннектов, отваливаний, стриминга. Шлёшь себе втупую датаграммы, когда сокет свободен, и принимаешь — когда буфер не пустой, и не паришься.
    И почему не нравятся библиотеки? В них же за вас уже все косяки и баги порешали. А их там, поверьте, хватает. Где-то poll тупит, где-то нет epoll, где-то файловый IO ещё вешается нормальный. В винде вообще IOCP вместо всего этого используется, и тот через жопу.
    И, разве, в man epoll нет примера? В своё время мне хватило его, насколько я помню.
    Ответ написан
    2 комментария
  • Как собрать glut под Windows используя mingw из под Linux?

    TrueBers
    @TrueBers
    Гуглю за еду
    Вы уверены, что вам нужен оригинальный GLUT 3.7 1998 года выпуска? Может быть стоит использовать что-то посовременнее? Например, GLFW, FreeGLUT, SDL.
    Если уверены, то я сомневаюсь, что он адекватно соберётся современными тулкитами без напильника.
    Ответ написан
    2 комментария
  • Почему в более современных версиях Microsoft Visual Studio не поддерживается класс WindowsForm?

    TrueBers
    @TrueBers
    Гуглю за еду
    Вы в ланчере студии просто не выбрали этот компонент для установки.
    А лучше, используйте WPF.
    Ответ написан
    1 комментарий
  • Перебор дочерних компонентов в c++?

    TrueBers
    @TrueBers
    Гуглю за еду
    Хоть бы какие-то данные что ли представили... телепатов нету ж уже.

    Судя по слову "hwnd", будем считать, что вы используете WinAPI. Тогда есть же ГУГЛ, который первой же ссылкой выдает ответ на вопрос на StackOverflow. Вторая ссылка ведёт на саму функцию EnumChildWindows на MSDN.

    Если я правильно понял задачу, тогда в чём проблема?
    Ответ написан
    Комментировать
  • Как сделать дешёвые прокси?

    TrueBers
    @TrueBers
    Гуглю за еду
    Что значит, в одни руки?
    Вам этот адрес лично никто не отдаёт, этим же адресом может пользоваться ещё несколько тысяч человек одновременно с вами.

    И это совсем не дёшево. Можно ВПСку купить за 200р в месяц, она потянет, пусть 100 клиентов, по мегабиту каждому. Каждый клиент платит 100 рублей в месяц, получаем 100*100=10 000 рублей при затратах в 200р (очень грубо).

    Другое дело, что вам нужно держать ваши адреса более-менее белыми, чтобы не попадать в банлисты за рассылку спама, и т. д. В этом основная трудность, а поднять прокси — дело двух минут.
    Ответ написан
    3 комментария
  • Тихий и мощный комп для дома (сервер + билд-сервер): собирать самому или брать готовое?

    TrueBers
    @TrueBers
    Гуглю за еду
    Бюджет бы указали что ли... и что значит мощный в вашем понимании? Расскажу про своё понимание...

    Если бы советовал себе, то это был бы Xeon E5-2683 v3. 14 ядер, 28 потоков, 2ГГц в стоке, можно при желании разогнать до 3.1ГГц. Цена вопроса 20к рубелей на Ибее. Если бы сейчас смог в своём городе продать свои i7 5820 и мать, взял бы его. При возможности, можно взять двухпроцовую мать, 56 потоков... Будет действительно мощный сервер. В разгоне рвёт 6950X в многопоточности, а соответственно и билдить будет от души.
    Из тишины, наверно, придётся брать водянку и БП из верхнего сегмента, который не крутится без нагрузки, ибо все кулеры жужжат.
    Ответ написан
    Комментировать
  • Можно ли запускать топовые игры на Ubuntu?

    TrueBers
    @TrueBers
    Гуглю за еду
    Можно. Если процессор поддерживает полное ускорение виртуализации, можете поставить виртуальную машину на kvm, установить туда винду, пробросить видеокарту и играть.
    Ответ написан
  • Возможно ли заглушить wifi програмно?

    TrueBers
    @TrueBers
    Гуглю за еду
    Можно через ARP-spoofing объявить себя шлюзом, и тушить/подменять запросы. Или делать вот так, но это малоэффективно.
    Ответ написан
    Комментировать
  • Какую библиотеку под OpenGL выбрать?

    TrueBers
    @TrueBers
    Гуглю за еду
    Я ж уже отвечал на подобный вопрос.
    Есть отличный туториал. В нём всё подробно описано, какую учить, какая устарела, какая для чего предназначена и т. д.
    Ответ написан
    Комментировать