我正在学习编程我的Arduino,但我在C ++中有相当扎实的背景,这意味着我非常失望地发现我无法使用C ++标准库。我一直在四处寻找确切原因,到目前为止唯一合理的解释是AVR-GCC不符合C ++语言标准。
现在,我知道大多数编译器都与标准版略有偏差,但我认为必须有一些非常大的东西将AVR-GCC与GCC,Clang或我以前使用的任何其他编译器区分开来。像一些完全缺失的重要特征,或者其他东西。必须有充分的理由说明为什么我不能使用std::vector
。无缘无故地离开是非常有用的。
那是什么? AVR-GCC方言的巨大漏洞是什么使得C ++标准库在Arduino上无法工作?而且我要求的不仅仅是好奇心,因为如果语言中有巨大的漏洞,那么在我开始讨论一些我没想到的未定义的行为之前,我需要了解它们。
答案 0 :(得分:-3)
AVR-GCC是clearly the work of hobbyists。从本质上讲,没有人愿意接受编写标准库实现的艰苦工作。编写标准库对于桌面平台来说并不是一项微不足道的任务,而Arduino的有限功能只会让它变得更难。