如何使用C库来实现Arduino代码

时间:2015-07-08 20:19:07

标签: c++ arduino

我想在Visual Studio中使用Arduino中的代码。但有一个问题。 Visual Studio中可用的许多库在Arduino IDE中不可用。如何在我的Arduino代码中使用它们。确切地说,我想要使用的库是

#include <iostream>
#include <iomanip>
#include <queue>
#include <string>
#include <math.h>
#include <ctime> 

分别。

好的,所以我知道我在Arduino中有<iostream>。我认为<math.h>也可以与<string>库一起使用。

主要问题是如何使用#include <queue>及其priority_queue()等功能以及iostream.pop()的其他功能?

2 个答案:

答案 0 :(得分:1)

幕后的Arduino使用的是avr-gcc编译器,它支持C ++语言的许多功能。但是,它不包含libstdc ++的实现,这意味着您习惯与其他开发环境一起使用的许多库和功能都不存在。这样做的一个重要原因是在小型微控制器上实现某些功能是不切实际的。

有几个库可以实现您想要使用的某些功能和数据结构的简化版本。您可以在此处找到这些库的列表(但不一定是完整的列表):

http://playground.arduino.cc/Main/LibraryList

例如,QueueList可能是<queue>的一个很好的替代品。

无论您发现什么,您都可能需要重构代码才能使用它们。当您遇到实现这些库和更改的问题时,我建议您转到https://arduino.stackexchange.com/以获得更多arduino特定答案。

答案 1 :(得分:0)

这里详细说明:

https://www.arduino.cc/en/Hacking/BuildProcess

  

包含路径包括草图的目录,目标目录   (/ hardware / core //)和avr include目录   (/ hardware / tools / avr / avr / include /),以及任何库   目录(在/ hardware / libraries /中)包含标头   主草图文件中包含的文件。

这些是avr-gcc(Arduino使用的编译器)支持的库

http://www.nongnu.org/avr-libc/user-manual/modules.html