完善资料让更多小伙伴认识你,还能领取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++ 编译器在这方面有什么不同吗?如果是这样,是否有关于它在哪些方面偏离标准的文档? |
|
相关推荐
1个回答
|
|
GNU 扩展?您可以尝试将“-pedantic”传递给 g++。这将禁止对标准进行扩展。
|
|
|
|
只有小组成员才能发言,加入小组>>
1032 浏览 1 评论
562浏览 6评论
470浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
454浏览 5评论
455浏览 4评论
428浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-4 03:21 , Processed in 1.292716 second(s), Total 77, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号