Skip to content

Commit

Permalink
v3.2.0
Browse files Browse the repository at this point in the history
  • Loading branch information
埃博拉酱 committed Nov 5, 2024
1 parent c63221e commit f854587
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 5 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
- `<concepts>` 注意C++20之前并不真正支持concept。此头文件允许你以 constexpr bool 变量模板(C++17)或函数模板(C++11)形式访问C++标准concepts。
- `<dynarray>` 曾经有望进入C++标准的废案。虽然最终没能进入,但作为`array``vector`的中间类型非常有用。
- `<functional>` 非标准行为:调用空对象时不做任何事。这是因为标准行为是应当抛出异常,但Arduino不支持异常。如果希望调用空对象时不做任何事,则可无需判断对象是否为空而直接调用。
- `<iostream> cin cout endl`使用`Serial`实现标准输入输出流。但是,使用前仍必须手动`Serial.begin`以设置波特率。不应在`setup`函数之前的全局变量初始化阶段使用`Serial`,因为在`setup`被调用之前无法保证`Serial`已完成初始化,此时使用`Serial`是未定义行为。此外测试发现,对于SAM架构,串口刚完成初始化后可能会发送一些随机字节,这似乎是硬件设计缺陷使然,软件层面无法解决,接收端必须要考虑到这个问题。字符写入串口依赖中断,禁用中断的上下文中所有字符将被缓存,待启用中断上下文后才会实际写出到串口。
- `<iostream> cin cout endl`使用`Serial`实现标准输入输出流。但是,使用前仍必须手动`Serial.begin`以设置波特率。不应在`setup`函数之前的全局变量初始化阶段使用`Serial`,因为在`setup`被调用之前无法保证`Serial`已完成初始化,此时使用`Serial`是未定义行为。此外测试发现,对于SAM架构,串口刚完成初始化后可能会发送一些随机字节,这似乎是硬件设计缺陷使然,软件层面无法解决,接收端必须要考虑到这个问题。字符写入串口依赖中断,禁用中断的上下文中所有字符将被缓存,待启用中断上下文后才会实际写出到串口。支持使用F宏的Flash字符串。
- `<map>`
- `<memory> unique_ptr make_unique shared_ptr make_unique_for_overwrite`
- `<optional>`
Expand Down
5 changes: 2 additions & 3 deletions examples/ArduinoStlIssues/ArduinoStlIssues.ino
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,13 @@
#include <numeric>
#include <array>
#include <iostream>
ARDUINO_ARCH
#include <functional>
void setup() {
// Issue28
std::array<float, 5> 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
Expand Down
2 changes: 1 addition & 1 deletion library.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name=Cpp_Standard_Library
version=3.1.0
version=3.2.0
author=埃博拉酱 <[email protected]>, Mike Matera <[email protected]>, Chris Johnson <[email protected]>, Arduino
maintainer=埃博拉酱 <[email protected]>
sentence=将C++标准库移植到 Arduino。支持C++11~17。Porting the C++ standard library to Arduino. Support C++11~17.
Expand Down

0 comments on commit f854587

Please sign in to comment.