• Как лучше вносить изменения в стороннюю библиотеку С?

    @NIR-Ginko
    Нужны подробности реализации. Если вы рассчитываете, что с вашей реализацией библиотеки должны работать и сторонние программы, то, как минимум, не надо ломать API при изменении функции.

    Вариант реализации:
    • Сделать в функции два code path. Один - как был раньше. Другой - какой нужен. Переключение осуществлять по значению переменной окружения. Ещё один вариант - сделать переменную-переключатель. Это, конечно, неудачные варианты, но если программа работает в одном потоке то по принципу "и так сойдёт" - вполне будет работать.
    • Можно попробовать для своего случая подмену функции с помощью библиотеки, загружаемой через LD_PRELOAD. Тоже не самый лучший вариант, но можно рассмотреть.
    • Таки определить другую функцию и переписать кусочек программы. Оптимальный вариант.
    Ответ написан
    1 комментарий
  • Как лучше вносить изменения в стороннюю библиотеку С?

    Непонятно, какие у этой библиотеки есть точки расширения, какие есть интерфейсы. Общий ответ всегда один - форкать, наливать сверху свои изменения и затем портировать их регулярно на свежий релиз. Это самый затратный вариант, но он не требует ничего от библиотеки кроме открытости кода и подходящей лицензии, разрешающей вносить правки без неприемлемых для вас обязательств.
    Ответ написан
    Комментировать
  • Как сделать кастомный экран или оболочку для embedded linux?

    @Drno
    возможно проще сделать веб версию + режим "киоск"
    Ответ написан
    2 комментария