打印
[其他ST产品]

CubeIDE如何支持C++的开发

[复制链接]
楼主: jcky001
手机看帖
扫描二维码
随时随地手机跟帖
21
qcliu| | 2022-11-2 10:00 | 只看该作者 回帖奖励 |倒序浏览
在初始配置里边选用不同的编程语言不就可以吗?我是这样想的哈

使用特权

评论回复
22
drer| | 2022-11-2 10:25 | 只看该作者
stm32CubeIDE本来就支持c,c++及混合编程的.只不过用哪种语言编程之后生成的文件不同而已

使用特权

评论回复
23
coshi| | 2022-11-2 10:49 | 只看该作者
STM32CubeIDE可以在新建项目时选择建立为C++项目,或是在已有的C项目中右击选择 Convert to C++ 将项目转为C++项目。但是目前版本中(1.0.2)默认的入口文件还是main.c,在这里是无法直接使用C++的函数或其它语法的,有两种方法可以来处理这个问题:一、将mian.c重命名为mian.cpp;二、 .cpp 文件中使用C语言风格的函数包围C++部分操作,然后使用 extern “C” 作为前缀来修饰导出这些函数,这样就可以在 .c 文件中使用这些函数了。

使用特权

评论回复
24
kxsi| | 2022-11-2 10:58 | 只看该作者
当你用STM32CubeMX重新生成代码后项目中就会有一个main.c和一个main.cpp,你需要根据实际情况整合代码,保留一份main.cpp。

使用特权

评论回复
25
软核硬核| | 2022-11-2 11:09 | 只看该作者
应该是可以兼容C和C++的,不过C++和C互相调用数据要注意。

使用特权

评论回复
26
芯路例程| | 2022-11-2 11:11 | 只看该作者
想看例程,直接用TouchGFX生成一个工程就行,里面例程很齐全,用到了虚函数,继承,接口等。

使用特权

评论回复
27
wiba| | 2022-11-2 11:12 | 只看该作者
mian.c中也可以调用.cpp中的函数,只需要使用 extern "C" 作为前缀来修饰导出这些函数即可。但是导出的函数必须符合C语言函数的规则,比如重载函数或是类成员函数就需要使用一层符合C语言规范的函数来包围。

使用特权

评论回复
28
SantaBunny| | 2022-11-2 16:26 | 只看该作者
用C语言就挺好的啊

使用特权

评论回复
29
Undshing| | 2022-11-2 19:36 | 只看该作者
convert to c++就可以了

使用特权

评论回复
30
Jacquetry| | 2022-11-5 18:52 | 只看该作者
Keil默认可以支持C++开发

使用特权

评论回复
31
AloneKaven| | 2022-11-6 18:35 | 只看该作者
CubeIDE本来就支持c,c++及混合编程的

使用特权

评论回复
32
Henryko| | 2022-11-12 19:01 | 只看该作者
把后缀改成.cpp

使用特权

评论回复
33
Bowclad| | 2022-11-13 19:08 | 只看该作者
尝试使用一下TouchGFX例程

使用特权

评论回复
34
Undshing| | 2022-11-14 19:56 | 只看该作者
可以参考一下TouchGFX例程

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则