Я создаю программу RT CPP, которая использует другой код CPP.
Я не могу изменить повторно используемый код!
Мне нужно заставить компилятор встроить пару методов.
Моя проблема, очевидно, я не могу добавить always_inline
к коду и будь счастлив.
Я работаю с Windriver WorkBench 3.3
за VxWorks 6.9
ЗаметкаЯ могу изменить окружающую среду, как мне нравится.
Есть идеи?
Редактировать (объяснить картину в целом):
в настоящее время мы «HiJack» файлы, чтобы встроить функции,
но это не хорошо, потому что мы упускаем возможность объединить изменения из репозитория lib.
я подумал, что мы могли бы использовать среду для определения встроенных решений компилятора и избежать состояния «перехвата», иметь возможность объединять изменения в библиотеке и т. д.
Заметка: разные проекты захотят встроить разные функции.
Вместо того, чтобы захватить файл, почему бы не разветвить его и добавить встроенные директивы в вашу версию? Таким образом, вы можете просто периодически делать ребазелин по последней версии и объединяться с последней библиотекой.
В качестве альтернативы извлеките изменения как исправление и примените исправление как часть процесса сборки. Таким образом, по крайней мере, вам не нужно редактировать его вручную.
или, сделайте условие Always_inline условным, чтобы вы могли включить его во время компиляции. Таким образом, другие пользователи не будут затронуты, что позволит вам вносить изменения в библиотеку, к которой они принадлежат
Я не знаю ни одного параметра в среде dev, чтобы заставить его использовать его, хотя вы можете настроить -finline-limit и, возможно, отключить оптимизацию для пространства.
НО Вы подтвердили, что накладные расходы при вызове функции действительно имеют значение?
Других решений пока нет …