diff --git a/README.md b/README.md index 5707ad0..d29e3ef 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ - `` 注意C++20之前并不真正支持concept。此头文件允许你以 constexpr bool 变量模板(C++17)或函数模板(C++11)形式访问C++标准concepts。 - `` 曾经有望进入C++标准的废案。虽然最终没能进入,但作为`array`和`vector`的中间类型非常有用。 - `` 非标准行为:调用空对象时不做任何事。这是因为标准行为是应当抛出异常,但Arduino不支持异常。如果希望调用空对象时不做任何事,则可无需判断对象是否为空而直接调用。 -- ` cin cout endl`使用`Serial`实现标准输入输出流。但是,使用前仍必须手动`Serial.begin`以设置波特率。不应在`setup`函数之前的全局变量初始化阶段使用`Serial`,因为在`setup`被调用之前无法保证`Serial`已完成初始化,此时使用`Serial`是未定义行为。此外测试发现,对于SAM架构,串口刚完成初始化后可能会发送一些随机字节,这似乎是硬件设计缺陷使然,软件层面无法解决,接收端必须要考虑到这个问题。字符写入串口依赖中断,禁用中断的上下文中所有字符将被缓存,待启用中断上下文后才会实际写出到串口。 +- ` cin cout endl`使用`Serial`实现标准输入输出流。但是,使用前仍必须手动`Serial.begin`以设置波特率。不应在`setup`函数之前的全局变量初始化阶段使用`Serial`,因为在`setup`被调用之前无法保证`Serial`已完成初始化,此时使用`Serial`是未定义行为。此外测试发现,对于SAM架构,串口刚完成初始化后可能会发送一些随机字节,这似乎是硬件设计缺陷使然,软件层面无法解决,接收端必须要考虑到这个问题。字符写入串口依赖中断,禁用中断的上下文中所有字符将被缓存,待启用中断上下文后才会实际写出到串口。支持使用F宏的Flash字符串。 - `` - ` unique_ptr make_unique shared_ptr make_unique_for_overwrite` - `` diff --git a/examples/ArduinoStlIssues/ArduinoStlIssues.ino b/examples/ArduinoStlIssues/ArduinoStlIssues.ino index e3db534..33942a1 100644 --- a/examples/ArduinoStlIssues/ArduinoStlIssues.ino +++ b/examples/ArduinoStlIssues/ArduinoStlIssues.ino @@ -3,14 +3,13 @@ #include #include #include -ARDUINO_ARCH +#include void setup() { // Issue28 std::array avgTemp = { 23.4, 24.5, 19.9, 25.6, 27.8 }; float average = std::accumulate(avgTemp.begin(), avgTemp.end(), 0.0) / avgTemp.size(); // Issue43 - auto str = F("\r\nSystem halted!"); - std::cout << str << std::endl; + std::cout << F("\r\nSystem halted!") << std::endl; } void loop() {} //Issue78 diff --git a/library.properties b/library.properties index ee1f776..5961c85 100644 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=Cpp_Standard_Library -version=3.1.0 +version=3.2.0 author=埃博拉酱 , Mike Matera , Chris Johnson , Arduino maintainer=埃博拉酱 sentence=将C++标准库移植到 Arduino。支持C++11~17。Porting the C++ standard library to Arduino. Support C++11~17.