Arduino C++ 代码:可以使用虚函数和异常吗?

2024-05-02

跟进这条评论 https://stackoverflow.com/questions/452139/writing-firmware-assembly-or-high-level#452401从问题中编写固件:汇编还是高级? https://stackoverflow.com/questions/452139/writing-firmware-assembly-or-high-level:

当编译 C++ 代码时Arduino http://arduino.cc平台,可以使用虚函数、异常等吗?或者您想要(必须)使用 C++ 的子集(如中所述评论 https://stackoverflow.com/questions/452139/writing-firmware-assembly-or-high-level#452401)?

为 Arduino 平台编程时还有其他注意事项吗?


Arduino环境使用AVR版本的GCC工具链。代码被编译为 C++,因此您可以使用类。虚函数是可能的; vtable 将存储在 .data 部分中并具有正确的地址。事实上,Print 基类使用虚函数来使各种“打印”方法适应不同的输出类型。

由于代码空间原因,不支持异常。 Arduino 环境将“-fno-exceptions”传递给编译器命令行。看来源 http://code.google.com/p/arduino/source/browse/trunk/app/Compiler.java#518为了验证这一点。

支持模板。例如,这种无成本的流插入运算符技术 http://arduiniana.org/libraries/streaming/使用简单的模板和内联运算符可以很好地工作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Arduino C++ 代码:可以使用虚函数和异常吗? 的相关文章

随机推荐