完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在 STM32CubeIDE 中,我创建了一个 C++ 项目。但是 `main.c` 仍然以 .c 扩展名生成,并使用 C 编译器编译。这就是为什么我不能将 C++ 标头包含到 `main.c` 中(因为 C 编译器不理解关键字 `class`)。因此我无法在 `main.c` 中创建 C++ 类的全局实例。
我可以告诉 IDE 为此文件使用 `g++` (C++) 编译器而不是 `gcc`(C 编译器)。但是在语言标准选项中仍然只有 C 选项可用(例如“GNU11(ISO C11 + gnu 扩展)(-std=gnu11)”)。编译器仍会将文件编译为 C 文件而不是 C++。 另一方面,我不敢将 `main.c` 重命名为 `main.cpp`,因为它是在代码生成期间重新生成的(在更新 .ioc 文件之后)。 那么如何让 STM32CubeIDE 将 `main()` 函数放置到 C++ 文件中,例如 `main.cpp`,而不是像 `main.c` 这样的 C 文件? --- 我目前的想法如下: * 告诉 IDE 从编译中排除 `main.c`; * 将 `main.c` 复制到 `main.cpp`; * 将 C++ 头文件包含到 `main.cpp` 中并创建 C++ 类的实例,从 `main()` 函数中调用它们的成员函数; * 每当重新生成代码(和更新 `main.c`)时,将更新复制到 `main.cpp`。 我希望有比这更好的方法。请指教。 |
|
相关推荐
1个回答
|
|
我在这里找到了一些答案 - https://community.st.com/s/global-search/main_cpp。但我不知道如何获得我最喜欢的答案的直接链接(ST william hill官网
开发人员可能希望添加此功能)。要查看我最喜欢的答案,请搜索“main_cpp”。
|
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2785 浏览 1 评论
3252 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1827 浏览 1 评论
3672 浏览 6 评论
6068 浏览 21 评论
1352浏览 4评论
对H747I-DISCO写程序时将CN2的st-link复用为usart1,再次烧录时无法检测到stlink怎么解决?
374浏览 2评论
STM32G474RE芯片只是串口发个数据就发烫严重是怎么回事?
470浏览 2评论
STM32处理增量式编码器Z信号如何判断中断是正转的还是反向转的?
294浏览 2评论
使用STM32F407VET6的USB2.0功能,发现ctl后芯片无数据返回,是什么原因可能导致的呢?
218浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-14 09:54 , Processed in 0.960298 second(s), Total 74, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (威廉希尔官方网站 图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号