• Как в Visual Studio Code сразу компилировать код Си?

    TrueBers
    @TrueBers
    Гуглю за еду
    Установить компилятор и плагин для C/C++.
    Ответ написан
    1 комментарий
  • Какую дорогу в GameDev лучше выбрать?

    TrueBers
    @TrueBers
    Гуглю за еду
    Да не слушай ты этот бред, который пишут: "То бросай, это бросай, вакансий нету, всё пропало!".
    Всё есть, если есть интерес.
    Учить не важно какой движок, они все используют одни и те же концепции, паттерны примерно одинаковые.

    Внезапно(!), но везде есть и текстуры, и спрайты, и шейдеры. И игровой цикл даже есть!
    Изучив один движок, и написав пару игрушек, потом сам поймёшь, когда стоит перейти на что-то более функциональное и удобное. Придёт осознание, каких фич не хватает, и в каких движках они есть, и т. п.

    А все эти анрилы и юнити только ключевыми словами, по сути, отличаются. Ну, и общий дизайн у них чуть более удобен в плане декомпозиции кода, грамотной архитектуры. Но, пока сам не дойдёшь до необходимости использовать эту декомпозицию, ничего особо не выиграешь, только запутаешься. При переходе достаточно будет ознакомиться с паттернами Gang of Four и всё станет ясно более-менее.

    ПС Знаю разработчиков Юнити, которые начинали геймдев с этого движка и в шоке от того, что кто-то программирует не мышкой. Азы оптимизации им просто недоступны, ибо они даже понятия не имеют о нижележащем уровне API. Они искренне удивляются, как это знать чистый OpenGL и писать всё самому, а разве так можно? Точно так же, кстати, удивляются многие кодеры на плюсах: "А зачем мне знать ассемблер? Я с ним не сталкиваюсь никогда..."

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

    А уж, если хочется просто изучить полезный скилл зарабатывания денег и как зомби рубить бабки, то тут, как описали выше, 2 варианта по сути: Unity (C#), Unreal (C++). По ним вакансий немерено.
    Ответ написан
    4 комментария
  • Вывод изображения с видеокарты через разъемы на материнской плате возможен?

    TrueBers
    @TrueBers
    Гуглю за еду
    Он предназначен для вывода со встроенного в чипсет\процессор видео. С дискретной видеокарты через него вывести нельзя.
    Ответ написан
    Комментировать
  • Boost или не Boost вот в чём вопрос?

    TrueBers
    @TrueBers
    Гуглю за еду
    Precompiled headers, же! И всё влёт собирается.
    Ну, или для совсем тяжёлых случаев, можно юзать Ниндзю.

    А писать однозначно на бусте.
    Ответ написан
    Комментировать
  • Превышен лимит выдачи по карте?

    TrueBers
    @TrueBers
    Гуглю за еду
    Тут много подробной инфы.
    Ответ написан
    Комментировать
  • Можно ли использовать IPv6 вместо кук?

    TrueBers
    @TrueBers
    Гуглю за еду
    Наличие у IPv6 миллиардов адресов никак не означает, что у одного юзера будет только один адрес или даже префикс.
    Механизм раздачи адресов у IPv6 в разы сложнее и объёмнее, чем в IPv4. На текущий момент, одному пользователю рекомендуется выделять /64 префикс, а это ни много, ни мало — около 300 миллионов адресов, что, мягко говоря, сводит на "нет" вашу идею.
    Ответ написан
    Комментировать
  • Как указать адрес 2-ой подсети сети 192.168.12.0/28?

    TrueBers
    @TrueBers
    Гуглю за еду
    Ответ написан
    Комментировать
  • Как открыть порт в ubuntu?

    TrueBers
    @TrueBers
    Гуглю за еду
    Как и в любом другом дистрибутиве:

    # iptables -A TCP -p tcp --dport 8080 -j ACCEPT

    Либо, сервер запускается не на ANY, а на локалхосте.
    Ответ написан
    Комментировать
  • Почему созданные переменные не равные нулю в c++?

    TrueBers
    @TrueBers
    Гуглю за еду
    Учите ассемблер. После него таких вопросов возникнуть в принципе не может.
    Изучите, что такое стэк, как он работает, как растёт, как происходит выделение памяти на нём. Лучше для этого использовать какой-нить отладчик наглядный, типа OllyDbg или x64dbg.
    Ответ написан
    Комментировать
  • Расходуется ли физический ресурс CPU и GPU при работе?

    TrueBers
    @TrueBers
    Гуглю за еду
    Была такая хорошая видуха: GeForce 8800GT. Её соотношение цена/производительность было явно с большим уклоном в пользу второго.
    Вот у неё через 5 лет стабильно рассыхался припой на чипе, трескался и чип "отваливался". Не знаю специально ли это было сделано, чтобы "состарить" хорошую относительно недорогую видеокарту, или была странная партия припоя сразу у большинства различных вендоров, -- не знаю, но факт остаётся фактом.
    Ответ написан
    3 комментария
  • Можно ли поменять тип у Си++ с помощю (int)num?

    TrueBers
    @TrueBers
    Гуглю за еду
    Забудьте Си, если пишете на плюсах! Не нужно бульдога с носорогом смешивать. Это абсолютно разные языки, пусть даже выглядят очень похоже.

    Работать то оно будет, но совсем не безопасно.

    Почитайте про 4 вида кастов: static_cast, const_cast, dynamic_cast и reinterpre... и используйте только их (для начала, желательно, только первый из них).

    Слишком длинные и труднозапоминаемые операторы? А это сделано специально, чтобы мотивировать разработчика не использовать явные касты вообще. Си++ изначально задумывает гибкую работу с типами, предпочитая неявные преобразования и сводя к минимуму явные. Лучше лишний раз перегрузить функцию с нужным типом, и сделать проверки в реализации этой функции, чем давать пользователю возможность что-то сломать неверным кастом.
    Ответ написан
    Комментировать
  • Когда заголовок iostream заменяет другие заголовки, например, string?

    TrueBers
    @TrueBers
    Гуглю за еду
    Однозначно нужно подключать всё как положено. Совсем не факт, что какой-то другой компилятор будет у себя подключать где-то этот самый string.h. Точно так же может смениться реализация в другой версии, и всё поломается.

    По сути, работает оно по чистой случайности. Всегда подключайте необходимый заголовок. Проще всего смотреть на сайте C++ Reference. Там для каждого класса есть вверху строка Defined in header <...>. Вот этот хедер и подключайте всегда, будет работать в 99% компиляторов. А чтобы не замедлялась скорость сборки, добавляйте часто используемые заголовки в precompiled header.
    Ответ написан
    Комментировать
  • Стоит ли использовать, как стартовое IDE для с++ code::blocks?

    TrueBers
    @TrueBers
    Гуглю за еду
    На самом деле, если есть знания, кодить можно где угодно. На прошлой работе, когда пришёл, рабочей машиной был одноядерный селерон 1.6ГГц, кодил в юниксовом терминале в vim'е. Отлаживал и анализировал коры в gdb. Купили новую машину, поставил гуй, продолжил кодить в vim.

    А для учёбы, отвечу так -- из лучших IDE для плюсов на данный момент:
    • Если нет ограничений в виде Win-only, крайне рекомендую связку Clion+clang. У Clion'а есть бесплатная лицензия для студентов. Clang поддерживает полностью C++14, и постоянно запиливают C++17. Плюсом будут всякие санитайзеры и прочие полезные штуки, которые приучают к безопасному коду. А ещё clang может похвастаться очень информативными и понятными сообщениями об ошибках компиляции, в отличие от той же Вижуал Студии, где надо быть шаманом, чтобы понять, что у тебя не верно. Это ой как облегчает обучение.
      Всё это для Линукса. Для винды clang пока не сильно фичастый, вместо него ставить Mingw. Который так же поддерживает C++14.
    • Для Win-only бесплатная Visual Studio 2015 Community RC + ReSharper 9.1, который так же имеет бесплатную лицензию для студентов.


    Описанный выше QtCreator не рекомендую, только если не собираетесь учить сам Qt. Функций чуть больше, чем в блокноте, а падает и глючит с завидной регулярностью.
    Ответ написан
    Комментировать
  • Лучший серверный торрент-клиент?

    TrueBers
    @TrueBers
    Гуглю за еду
    Посмотрите в сторону rtorrent. У трансмишна бывают проблемы частенько. Если используется гигабитная сеть, он не умеет её всю использовать, постоянно спотыкается где-то в районе 100 мегабит. Хотя, может сейчас уже нет такой проблемы, год назад использовали в продакшене, приходилось самим патчить исходники, т. к. разработчики в упор не признавали это багом.
    Ответ написан
    Комментировать
  • Какие наилучшие материалы по реверс-инжинирингу (игр)?

    TrueBers
    @TrueBers
    Гуглю за еду
    Хоть и некропостинг, но уж наткнулся случайно. Раз уж помеченного ответа нет, отвечу, если ещё не забросили эту тему и не поломали пару онлайн игр =).

    Введение в крекинг с нуля Рикардо Нарвахи -- прекрасный курс. Написано очень подробно, куча полезных маст-хев трюков. Однозначно, курить! (если ещё не прошли)
    Все команды ассемблера знать, конечно, не нужно. Достаточно основных пары десятков, знать какие флаги меняют, какие операнды используются, и т. д. Остальные легко найти в Intel Software Developer Manuals.

    Из тулзов маст-хев OllyDbg в качестве отладчика, в нём удобно смотреть в реалтайме что там происходит, что-то изменять, колдовать, исследовать, находить ключевые точки для последующего реверса.

    Далее, когда уже найден какой-то ключевой поинт, в котором, кажется, кроется нужная фича, берём IDA Pro и в качестве дизассемблера/декомпилятора потихоньку реверсим алгоритм. Дальше нужно будет курить IDA Script или IdaPython для автоматизации рутинных действий.

    Также ещё довольно полезной фичей будет инструментация кода с помощью фреймворков типа Intel Pin Tool или DynamoRio. Но тут уже надо иметь скилл повыше, чем 2+2 в ассемблере, но результат стоит того.
    Ответ написан
    Комментировать
  • Как правильно написать MutexLocker?

    TrueBers
    @TrueBers
    Гуглю за еду
    А чем не угодил std::lock_guard?
    Ответ написан
  • Проблема с выполнением заинжекченого DLL?

    TrueBers
    @TrueBers
    Гуглю за еду
    Не знаю, что за бредовый код вы привели, но типичной ошибкой немедленной выгрузки DLL после загрузки является забывчивость брякнуть case-условие после выборки DLL_PROCESS_ATTACH или DLL_THREAD_ATTACH::
    switch (ul_reason_for_call)
    {
    case DLL_PROCESS_ATTACH:
    	break;
    case DLL_THREAD_ATTACH:
    	break;
    case DLL_THREAD_DETACH:
    	break;
    case DLL_PROCESS_DETACH:
    	break;
    }
    Ответ написан
  • Перегружен SSD. Что делать?

    TrueBers
    @TrueBers
    Гуглю за еду
    Как уже писали, спросите у винта SMART.
    Если откажется даже его отдавать - он умер...
    Ответ написан
    Комментировать
  • Можно ли в скрипте bash узнать как он был запущен?

    TrueBers
    @TrueBers
    Гуглю за еду
    А гугл упал что ли?
    Ответ написан
    Комментировать
  • Что означает атрибут s.m.a.r.t Program_Fail_Count_Chip и каким должно быть его значение?

    TrueBers
    @TrueBers
    Гуглю за еду
    Этот параметр указывает на количество неудачных попыток записи во внутреннюю флеш-память накопителя. Т. е. либо запись в сам СМАРТ фейлилась, либо ошибки прошивки.

    Скорее всего это глюк какой-то виден как переполнение, либо туда каким-то образом знаковое значение попало...

    Вообще, зависит от модели накопителя. Иногда этот параметр увеличивается, когда блоки не выровнены по 4k-границе, либо имеют размер, отличный от 4k.
    Ответ написан
    Комментировать