Задать вопрос
Ответы пользователя по тегу Raspberry Pi
  • Как из под Windows писать и отлаживать С++ код под Raspberry pi?

    TrueBers
    @TrueBers
    Гуглю за еду
    Адекватно отлаживать код можно только на той платформе, для которой он пишется. Иначе никак.
    C++ -- он и в Африке C++. Можно писать хоть в блокноте, главное тулчейн, которым он собирается. А у C++ с кросскомпиляцией всё не так уж радужно на практике, как это рисуют в теории.

    Смотря для какого API вы писать хотите, для какой системы. Например, в Убунте тулчейны более древние, чем в Арче. Это накладывает весомый отпечаток на боль, которую придётся испытывать в разработке и отладке.

    при работе по SSH некорректно работают практически все функции glut
    При работе по ssh вообще сложно пробросить графический сервер, чтобы он работал адекватно. А ещё есть как минимум X и Wayland. У них разные методы удалённой отладки будут.

    Проще будет VNC поднять и отлаживать таким образом, чем городить костыли.
    И, как уже сказала копи-паста из бота, используйте GLFW или SDL, они намного проще собираются и отлаживаются, чем говно мамонта под названием GLUT.
    Ответ написан
    Комментировать
  • С или modernC++ для IoT?

    TrueBers
    @TrueBers
    Гуглю за еду
    Так говорите, как будто С++ это 2 вещи: shared_ptr и исключения :D

    Вы смутно понимаете, похоже, в чём их назначение.

    Эксепшены и атомики в плюсах использовались всегда. Просто, нужно понимать, для чего они вам.
    Исключения, на то они и исключения, что используются в исключительных ситуациях. Если вы их пихаете везде, и жить без них не можете, значит, с вашей архитектурой приложения что-то не так. Это раз.

    Два. Любые эксепшены, rtti, наследования, диспетчеризация и т. п. в embed'е это дикий оверхед. Но при этом, почему-то многие софтовые компании, включая гугл, просто выключают у себя в проектах поддержку исключений и rtti. И на этом "огрызке" всё работает почему-то. К тому же, размер бинарника для имбеда довольно важен и не на последнем месте. Выпилив исключения и rtti, можно очень хорошо выкинуть мусор.

    shared_ptr — не серебряная пуля. Как уже сказал fshp, они используются в, ну просто, очень ограниченном количестве случаев. Их, как и исключения, нельзя пихать куда попало. Посмотрите выступления Шона Парента, почитайте его пейперы. Очень толковый мужик из Adobe, один из главных инженеров Фотошопа. Он там хорошо описывает и показывает на примерах, что shared_ptr — это просто хорошо замаскированная глобальная переменная, по сути, да ещё и с оверхедом от атомиков. И перед тем, как его использовать, сто раз подумайте, зачем он вам здесь нужен. В 99% случаев, можно обойтись без него, так же как и без RTTI. При этом, unique_ptr — очень удобная и полезная штука.

    Вам современный C++ предлагает множество сишных способов возврата значения вместо эксепшенов. Вы можете возвращать тот же tied tuple, optional, variant, any, error_condition, error_code. Хоть они и сами любят повыбрасывать исключения, но код намного чище и легче отлаживать и понимать, чем миллион вложенных исключений с дикой иерархией и оверхедом.

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

    Если вы из всего вышеперечисленного, пользуетесь только shared_ptr и исключениями, то C++ вам не нужен.
    Ответ написан
    1 комментарий
  • Можно ли настроить Raspberry Pi сразу по SSH?

    TrueBers
    @TrueBers
    Гуглю за еду
    Любой популярный дистрибутив на это рассчитан.
    Ответ написан
    Комментировать