7

我正在学习为我的 Arduino 编程,但我在 C++ 方面有相当扎实的背景,这意味着我很失望地发现我无法使用 C++ 标准库。我一直在四处寻找确切的原因,到目前为止,唯一合理的解释是 AVR-GCC 不符合 C++ 语言标准。

现在,我知道大多数编译器与标准的偏差很小,但我认为一定有一些非常大的东西将 AVR-GCC 与 GCC、Clang 或我以前使用过的任何其他编译器分开。就像一些完全缺失的非常重要的功能,或其他东西。例如,为什么我不能使用必须有充分的理由std::vector。它太有用了,不能无缘无故地离开。

那是什么?AVR-GCC 方言中使 C++ 标准库无法在 Arduino 上运行的巨大漏洞是什么?我问这个不仅仅是出于好奇,因为如果语言中存在巨大的漏洞,那么我需要先了解它们,然后再犯一些我没想到的未定义行为。

4

1 回答 1

-4

AVR-GCC显然是爱好者的作品。本质上,没有人愿意承担编写标准库实现的艰苦工作。编写标准库对于桌面平台来说并非易事,而 Arduino 的有限功能只会让它变得更加困难。

于 2013-04-29T11:43:30.483 回答