如何导入<chrono>以使用 avr-gcc
How to import <chrono> to work with avr-gcc
根据使用&lt; chrono&gt;作为裸机微控制器的计时器?易于使用MicroController的STD :: Chrono。
我的问题是AVR-GCC(AVR微控制器的GCC)已禁用Chrono(以及许多其他C 功能)。如何将Chrono与AVR-GCC一起使用?
不同的选项:
1.-复制std :: Chrono for GCC的另一个版本。
2.-写我自己的STD :: Chrono。
3.-忘记std :: Chrono并以C方式阅读时间。
4.- ... ???
- 复制std :: Chrono for GCC的另一个版本。
这对您无济于事,因为有一些™依赖关系。在x86_64上:
echo '#include <chrono>' | g++ -fsyntax-only -xc++ - -H
将打印一些标题:
. /install/gcc-8-host/include/c++/8.0.1/chrono
.. /install/gcc-8-host/include/c++/8.0.1/ratio
... /install/gcc-8-host/include/c++/8.0.1/type_traits
.... /install/gcc-8-host/include/c++/8.0.1/x86_64-linux-gnu/bits/c++config.h
..... /install/gcc-8-host/include/c++/8.0.1/x86_64-linux-gnu/bits/os_defines.h
...... /usr/include/features.h
....... /usr/include/x86_64-linux-gnu/sys/cdefs.h
........ /usr/include/x86_64-linux-gnu/bits/wordsize.h
........ /usr/include/x86_64-linux-gnu/bits/long-double.h
....... /usr/include/x86_64-linux-gnu/gnu/stubs.h
........ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h
..... /install/gcc-8-host/include/c++/8.0.1/x86_64-linux-gnu/bits/cpu_defines.h
... /install/gcc-8-host/include/c++/8.0.1/cstdint
.... /install/gcc-8-host/lib/gcc/x86_64-linux-gnu/8.0.1/include/stdint.h
..... /usr/include/stdint.h
...... /usr/include/x86_64-linux-gnu/bits/libc-header-start.h
...... /usr/include/x86_64-linux-gnu/bits/types.h
....... /usr/include/x86_64-linux-gnu/bits/wordsize.h
....... /usr/include/x86_64-linux-gnu/bits/typesizes.h
...... /usr/include/x86_64-linux-gnu/bits/wchar.h
...... /usr/include/x86_64-linux-gnu/bits/wordsize.h
...... /usr/include/x86_64-linux-gnu/bits/stdint-intn.h
...... /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h
.. /install/gcc-8-host/include/c++/8.0.1/limits
.. /install/gcc-8-host/include/c++/8.0.1/ctime
... /usr/include/time.h
.... /install/gcc-8-host/lib/gcc/x86_64-linux-gnu/8.0.1/include/stddef.h
.... /usr/include/x86_64-linux-gnu/bits/time.h
..... /usr/include/x86_64-linux-gnu/bits/timex.h
...... /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h
.... /usr/include/x86_64-linux-gnu/bits/types/clock_t.h
.... /usr/include/x86_64-linux-gnu/bits/types/time_t.h
.... /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h
.... /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h
.... /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h
.... /usr/include/x86_64-linux-gnu/bits/types/timer_t.h
.... /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h
.... /usr/include/x86_64-linux-gnu/bits/types/locale_t.h
..... /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h
.. /install/gcc-8-host/include/c++/8.0.1/bits/parse_numbers.h
这些都不是用AVR-G 分发的,因为libstdc -v3被禁用了AVR。
此外,取决于您使用的功能,您需要模块,例如libstdc -v3/src/c 11/chrono.cc,它拖略了进一步的依赖性,特别是从假定的基础操作系统中,您不喜欢的基础操作系统使用AVR-G (裸金属)。
- 写我自己的STD :: Chrono。
这将有什么好处?您可以从某些主机计算机复制paste代码,它应该在没有任何问题的情况下工作吗?
- 忘记std :: Chrono,然后以C方式阅读时间。
imo,唯一合理的方法。您想控制系统资源。
相关文章:
- 从持续时间构造std::chrono::system_clock::time_point
- 如何在c++迭代器类型中包装std::chrono
- 在两台机器之间进行时间戳的最佳c++chrono函数是什么
- EASTL矢量<向量<int>>连续的
- 使用 memcpy() 复制到 std::chrono::milliseconds 会给出错误 -Werror=clas
- std::multimap<std::chrono::milliseconds, T>::rbegin 在 MSVS-13 中指向 end()?
- 如何在C++中将 chrono::秒转换为 HH:MM:SS 格式的字符串?
- C++ Chrono 确定一天是否是周末?
- std::adjacent_difference with std::chrono time_point
- VSCode 说 std::chrono 是模棱两可的,如果运算符<<重载
- 是否确保 2 个连续的 std::chrono::steady_clock::now() 不相等?
- std::chrono::d uration 可以按秒初始化,但不能按毫秒初始化?
- chrono::month 和 chrono::month 有什么区别
- 比较两个 std::chrono::time_point 实例时出错
- 来自 std::chrono 的编译器警告,但未被使用
- 从编译时已知的日历日期创建"std::chrono::time_point"
- std::chrono::time_point from std::string
- 使用 std::chrono::steady_clock 对线程/异步中的代码进行基准测试
- 为什么 std::chrono 在测量循环和编译器优化的并行 OpenMP 的执行时间时不起作用?
- 如何在不使用 std::tm 和 mktime() 的情况下为给定日历日期创建 chrono::time_point 对