我正在学习编程Arduino,但我有很扎实的C++基础,所以当我发现无法使用C++标准库时,感到非常失望。我一直在寻找确切原因,目前唯一合理的解释是AVR-GCC不符合C++语言标准。
我知道大多数编译器与标准有轻微差异,但我认为AVR-GCC与GCC、Clang或其他我以前使用过的编译器之间必定存在某些巨大的差异,例如某些非常重要的特性完全缺失等。这也许就是为什么我无法使用std::vector等功能的原因。没有理由将其排除在外,因为它实在太有用了。
那么是什么原因导致AVR-GCC方言中存在如此巨大的空白,使得C++标准库在Arduino上无法使用呢?我问这个问题不仅仅出于好奇,因为如果语言中存在巨大的漏洞,那么在我进入某些未定义的行为之前,我需要了解它们。
我知道大多数编译器与标准有轻微差异,但我认为AVR-GCC与GCC、Clang或其他我以前使用过的编译器之间必定存在某些巨大的差异,例如某些非常重要的特性完全缺失等。这也许就是为什么我无法使用std::vector等功能的原因。没有理由将其排除在外,因为它实在太有用了。
那么是什么原因导致AVR-GCC方言中存在如此巨大的空白,使得C++标准库在Arduino上无法使用呢?我问这个问题不仅仅出于好奇,因为如果语言中存在巨大的漏洞,那么在我进入某些未定义的行为之前,我需要了解它们。