Поставка модуля C SW в качестве исходного кода против библиотеки - PullRequest
0 голосов
/ 27 сентября 2018

Я использую язык C для своего встроенного программирования (т. Е. Target - это микроконтроллер), и я нахожусь в ситуации, когда мой SW-модуль доставляется в виде объектного кода (библиотеки), который будет использоваться командой клиентов.

Обычно я использовал для доставки своего ПО в качестве исходного кода, и я знаю ограничения на то, как интегрировать (компилировать, ссылаться на исходный код), но я не знаю, каковы ограничения для интеграции кода obj (библиотеки) у заказчикаside.

Например: - обязательно ли иметь тот же компилятор, что и у меня?- обязательно ли каждый раз обновлять эту библиотеку для клиента, как только он изменит параметры компилятора, параметры компоновщика и т. д. *

Заранее спасибо за ваши ответы.

Simo

1 Ответ

0 голосов
/ 29 сентября 2018

Ответ очень зависит от целевой поддержки.Возможно, вам придется предоставить библиотеки для всех комбинаций:

  • набор инструкций,
  • порядковый номер,
  • поддержка FPU,
  • поддержка отладки,
  • основной вариант

и, возможно, больше.Например, конкретная RTOS, которую я использую, которая предназначена для ARM Cortex-M3, генерирует 4 и 7 в порядке порядка 20 вариантов.

Очевидный подход заключается в использовании системы сборки, которая будет генерировать все необходимые комбинации водиночная сборка.

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...