嵌入式软件编程中的C++

ded*_*ihp 5 c++ linux embedded

如果我使用C++语言编程编写嵌入式Linux系统的代码,是否存在重大问题?

实际上,我有意使用arm-uclibc编译器将一些代码移植到arm linux.

谢谢

Ric*_*ton 6

当我读到你的问题时,我一直在考虑传统的嵌入式编程,直到我看到Linux部分.C++可用于嵌入式编程,隐藏构造函数等.如果您正在运行Linux,我怀疑您不必担心这些问题.

  • 感谢downvote,但Linux代表了更多的开销,即使在ARM上也不比传统的裸机或更少资源密集型操作系统上的嵌入式编程.我在桌面和资源有限的系统上使用Linux,以及其他操作系统:Nucleous,eCos,vxWorks,裸机.你呢? (4认同)

Mic*_*yan 4

您问的是纯 C++ 还是嵌入式 C++?据我了解,嵌入式 C++ 几乎已经死了。您可以使用 C++ 进行编程,但是根据您的要求,您可能希望避免使用某些结构。例如,如果您没有太多空间,您可能希望尽可能避免使用模板(或显式实例化模板)以将模板实例化保持在最低限度。您可能还希望避免异常或 RTTI,以减少生成的类型信息量(以节省空间),并避免必须处理异常安全性(以将潜在的陷阱降至最低)以及异常传播的高成本(对于实时系统,缩短最长的执行路径)。虚函数应该没问题(它们不会引入那么多开销),但如果您有非常严格的要求,您可能还需要限制它们的使用。如果您确实使用异常,您还应该确保编译器支持它们(因为许多嵌入式系统的交叉编译器不支持)。