Еще один подход к внесению изменений в C исходный код с python? - PullRequest
1 голос
/ 04 марта 2020

Мне было поручено создать (python) скрипт, который отключит функцию в нашем исходном коде. Код генерируется с помощью стороннего программного обеспечения для настройки, с помощью которого gui позволяет изменять настройки, чтобы отключить эту функцию. Эти изменения требуют усилий и времени для создания, следовательно, сценария. Теоретически, в заголовочных файлах есть несколько флагов (то есть #define thisFeature STD_ON), ​​которые можно легко перевернуть с помощью сценария.

Более сложная часть - это изменения в исходных файлах, для которых некоторые функции добавляются / удаляются сторонним программным обеспечением для настройки. Они могут измениться в будущем, поэтому мне нужно подумать о решении, которое останется пригодным для использования. Я не могу изменить код для стороннего приложения, так как мне нужно избегать процесса генерации, который требует времени. Мне нужно внести изменения, чтобы при создании продукта необходимые изменения вносились и компилировались. Любые предложения будут великолепны.

1 Ответ

0 голосов
/ 04 марта 2020

Вы будете вводить допущения, которые превратятся в будущие ошибки, если они выйдут из строя, или в конечном итоге переопределите генератор AUTOSAR. Их цель состоит в том, чтобы позволить реализацию настроенной системы под полным контролем поставщика комбинации кода stati c и сгенерированного кода.

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

Так что я боюсь, что ответ «Нет ни одного». (т.е. без альтернативы).
Вы можете делать предположения в своей системе и создавать что-то, что в рамках этих предположений достигает вашей цели в краткосрочной перспективе.
Но в долгосрочной перспективе тот, кто решил использовать AUTOSAR в вашем проекте, сделал это по причинам, которые потерпите неудачу, когда вы go обойдете официальный генератор.
Таким образом, рано или поздно может быть потрачено затраченное вами усилие, которое может в конечном итоге принести больше урона, чем выгоды, которые вы могли бы получить в краткосрочной перспективе.

...