Я пытаюсь портировать библиотеку, которая написана на C ++ в нашей встроенной системе. Встроенная система написана на языке программирования C на платформе ARM. Я думал, что возможно, что я мог сделать это. Язык программирования C ++ намного сложнее, чем C.
Библиотека C ++ требует, чтобы среда работала правильно? Если я это сделаю, то у меня могут возникнуть проблемы.
Не могли бы вы поделиться со мной своим опытом? Спасибо Вам большое.
Многое зависит от вашей библиотеки, но на встроенных платформах вы обычно отключаете rtti и обработку исключений. C ++ обычно требует распределителя памяти и обычно реализуется в терминах malloc. Если это что-то еще, вы должны будете предоставить по умолчанию новый овератор и оператор удаления реализации. Компилятор позаботится обо всем остальном.
Из вашего вопроса неясно, пытаетесь ли вы портировать (т.е. переписать программу C ++ на C one) или просто запустить программу C ++ во встроенной среде, и поэтому (почти) не меняете ее. В случае № 1 вы просто должны использовать свой разум. Никаких проблем (за исключением того, что это займет очень много времени …) В случае # 2 это будет нелегко. о чем подумать (я предполагаю, что вы используете gnu toolchain или производные от него, если нет — я просто не знаю, как там обстоят дела)
Размышляя о таких вещах выше, я решил, что для моего собственного маленького проекта с голой металлической рукой c ++ — это слишком много, а Force — в C.