完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我的 ESP-IDF v5.0 应用程序是用 C++ 编写的。在我的主 CMakeList.txt 中,我有以下设置:
set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) 我在 `main.cpp` 中添加了以下语句来检查: std::cout << __cplusplus << \"\\n\"; 我收到的输出是: 这一切都如我所料。但是,我可以在这段代码中为常规 C 结构使用指定的初始值设定项。例如: // Initialize PWM ledc_timer_config_t ledcTimer = { .speed_mode = _ledcMode, // timer mode .duty_resolution = _ledcResolution, // resolution of PWM duty .timer_num = LEDC_TIMER_0, // timer index .freq_hz = 5000, // frequency of PWM signal .clk_cfg = LEDC_AUTO_CLK // Auto select the source clock }; ledc_timer_config(&ledcTimer); 使用“标准”C++17 我预计这会产生编译器错误,因为我读过的文档说直到 C++20 才支持指定的初始化器。 Xtensa C++ 编译器在这方面有什么不同吗?如果是这样,是否有关于它在哪些方面偏离标准的文档? |
|
相关推荐 |
|
只有小组成员才能发言,加入小组>>
1498个成员聚集在这个小组
加入小组无法启动T4240QDS-PB板,显示“等待D_INIT超时的原因?
45浏览 1评论小黑屋| 手机版| Archiver| 电子发烧友 ( 粤ICP备14022951号 )
GMT+8, 2023-4-17 11:19 , Processed in 0.436243 second(s), Total 88, Slave 83 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 深圳华秋电子有限公司
电子发烧友 (电路图) 粤公网安备 44030402000349 号 电信与信息服务业务经营许可证:粤 B2-20160233 工商网监 粤ICP备 14022951 号