Non*_*714 8 c++ arduino c++-standard-library
没有询问有关<string>
标准库的整体用于微控制器.
我还没有拥有一个Arduino板来执行代码,正如标题所说,我很好奇是否在Arduino上完全支持C++标准库并且已经是Arduino IDE的一部分.毫无疑问,标准库可能是最有效,经过充分测试和资源最少的公开可用的C++代码,并且可以让像Arduino这样的微控制器的代码更容易生活.
或者,我是否错过了Arduino /微控制器的观点?那,因为他们的资源是如此有限,大多数代码必须完全针对特定功能,而不是通用或模板化?
如果标准库不是Arduino IDE的一部分,那么我如何包含特定的库,如<algorithm>
和<bitset>
?
Arduino与其他嵌入式系统项目截然不同.一方面,它使用自己的语言基于C/C++.另一方面,你正在处理令人难以置信的专业软件,你不太可能需要大量的抽象<string>
或<bitset>
.与自制内核相比,您可以在这里处理桌面级硬件,标准库可以帮助开发.此外,自制软件内核最终希望成为"自托管",即可以将GCC和libstdc ++移植到用户空间.同样,这是你在Arduino环境中不会看到的东西.
现在,当你谈论Arduino附带的库时,这是一个完全不同的故事.这些是用C或C++编写的,可以从一个移植的标准库中受益,但它不太可能有用.移植STL并非易事,而且非常非常大.大多数功能远远超过必要 - 您真的需要一个<string>
或<bitset>
读取或写入端口的字节?然后从开发人员的角度考虑成本和复杂性:Arduino开发人员将承担这项艰巨的(双关语)任务来实现它,并在大部分未被使用或被淘汰时支持它(想想自定义分配器.)
最后一点,有大量的Arduino板有不同的规格.标准库是在现有C库之上构建的抽象.有一次,你将不得不陷入困境并实际编写C库和运行时的代码,使标准库本身不可移植(想想libstdc ++ - arm-none-eabi-newlib).
现在,如果您对此不满意,您仍然可以按照他们为Arduino编写自己的库的教程来移植STL的子集.
归档时间: |
|
查看次数: |
8990 次 |
最近记录: |