• Своя версия функции из стандартной библиотеки С - возможно ли?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Предыдущие ораторы @fornit1917 @GavriKos и @DancingOnWater насоветовали какой-то странной фигни.
    Просто определяйте свою функцию и всё. Вот вам пример:
    $ cat print.c 
    #include <stdio.h>
    #undef printf
    int printf(const char *fmt, ...)
    {
            puts("my printf\n");
            return 0;
    }
    int main()
    {
            printf("%d\n", 10);
            return 0;
    }
    $ gcc print.c -o print
    $ ./print 
    my printf

    Если будут ошибки времени компиляции внимательно читайте их текст:
    - возможно библиотечная функция определена в заголовочном файле в виде макроса. Используйте #undef чтобы удалить такое определение.
    - возможно прототип вашей реализации не совпадает с прототипом объявленным в заголовочных файлах. Сделайте так, чтобы ваш прототип совпадал.
    - возможно библиотечная функция определена в заголовочном файле. Насколько мне известно ни одна функция стандартной библиотеки так не делает.

    Эта рекомендация основана на базовых принципах статической и динамической линковки. Задавайте вопросы, если нужны дальнейшие пояснения.
    Ответ написан
  • Можно ли STM32H753VI (TFBGA100) страссировать в 4-х слоях?

    Ocelot
    @Ocelot
    Теоретически можно. 2 внешних слоя сигнальные, 2 внутренних - питания и GND.
    Два внешних ряда шариков развести на слое Top, следующие два ряда - на Bottom, внутренние шарики - земля и питание. Всё упирается в то, позволяют ли технормы вашего производства ПП протащить дорожку между падами на фольге 35 мкм.
    Ответ написан
    Комментировать
  • Как подключючить ESP8266 к роутеру(теоретически)?

    gbg
    @gbg Куратор тега Компьютерные сети
    Любые ответы на любые вопросы
    Правильно понимаете, пока вы не прицепитесь к AP, сети не будет и TCP/UDP тоже. Способов передать довольно много:
    1) зашить в прошивку. Куда уж проще
    2) иметь на борту клавиатуру и дисплей
    3) иметь кнопку, при зажатии которой устройство стартует в режиме точки доступа (читайте мануал). Вы подключаетесь к устройству, заносите нужные настройки (для этого на устройстве придется поднять веб-сервер, или еще какую-нибудь штуку, перезагружаетесь в рабочем режиме.
    4) передать настройки через ИК порт, или насвистыванием в микрофон - это уже экзотика, но так тоже делают.
    Ответ написан
    Комментировать
  • Какие есть недостатки у ESP32?

    gbg
    @gbg Куратор тега Электроника
    Любые ответы на любые вопросы
    Главная проблема ESP-образных систем - это то, что вы не контролируете их полностью. Вы можете писать только CALLBACK-реакции на всевозможные события, но часть времени процессор будет занят выполнением закрытой от вас части прошивки, на которую вы влиять не можете.

    Из-за этого, всякий жесткий реалтайм, который легко делается на AVR или STM (вроде частотных преобразователей), на ESP сделать нельзя, не отключая WiFI полностью.
    Ответ написан
    Комментировать
  • Как Вы управляете проектами с удаленными заказчиками?

    coderisimo
    @coderisimo
    А что имеете ввиду, когда пишете о наборе инструментов ?
    Несколько мыслей вслух
    1) Если проект с почасовой оплатой, то ничего страшного в том, чтобы дать заказчику доступ к репозиторию с кодом. Ему спокойно, Вам не напряжно.
    2) Можно утвердить время для ежедневных (или пару раз в неделю) митингов по скайпу. Все знают точное время начала и всегда готовы. Всегда можно заранее перенести время-дату.
    3) Для небольших проектов кажется удобным трелло. Нужно только сразу договориться о правилах. Писать только по существу. Каждый тикет - одна тема. Итд итп. Для маленьких проектов бесплатного функционала хватает с головой.
    4) Трелло позволяет прикреплять к теме видео демонстрации реализации отдельных задач. Пояснения голосом помогают кратко показать что и как работает.
    5) О некоторых вещах лучше договориться на берегу. Например : выходные дни - святое))). Игнорируются только в случае серьезного форс-мажора )) итд.

    Самое главное, чтобы в процессе принимали участие адекватные люди. Остальное приложится )
    Ответ написан
    1 комментарий
  • Можно ли запустить Linux ТОЛЬКО на видеокарте?

    @rPman
    Да возможно - например виртуализация! Пилите на шейдерных процессорах виртуальную машину, а уже на ней, размещая оперативную память и регистры в gpu ram, запускаете что угодно.

    Но это не имеет никакого смысла потому что не даст высокой производительности в общем случае. Шейдерный процессор имеет небольшую скорость (вся фича в их количестве) и обладает кучей ограничений. А еще - размер кода, который можно загрузить в видеокарту как код шейдеров - ограничен очень небольшим размером (не смог найти данные про современное железо но лимит очень небольшой, считанные десятки тысяч опкодов или мегабайты) при превышении которого код подгружается из системной памяти - сильно медленно. В gpgpu вообще много специфических ограничений, при превышении которых скорость падает на порядки, и с каждым производителем gpu свои особенности.

    И 'нет' - код не может быть запущен только на gpu, нужен контроль со стороны центрального процессора, для взаимодействия и управления.
    Ответ написан
    Комментировать