[单片机芯片] CH32V307 Mounriver studio

[复制链接]
 楼主| x_hzx 发表于 2022-9-27 09:00 | 显示全部楼层 |阅读模式
可以C、C++混合编程吗?有相关的资料说明吗?
WCHTech2 发表于 2022-9-27 11:18 | 显示全部楼层
您好,MounRiver使用C++编译配置方法如下:
选中工程,右键new->other
1.png
2.png
3.png
此外还需要注意在启动文件调用main函数之前,首先添加如下全局初始化函数
   la a0,__libc_fini_array
   call atexit
   call __libc_init_array

4.png







WCHTech37 发表于 2022-9-27 11:18 | 显示全部楼层
您好,MRS是支持C/C++编程的。附件为相关资料说明以及演示例程,可供参考: MRS Compile C++.zip (1 MB, 下载次数: 20)
 楼主| x_hzx 发表于 2022-9-27 11:23 | 显示全部楼层
WCHTech37 发表于 2022-9-27 11:18
您好,MRS是支持C/C++编程的。附件为相关资料说明以及演示例程,可供参考:
...

谢谢。近期准备换CH32V307RCT6,之前的ARM M3 Keil用C++ c混合编程,。要是也支持c/c++混合编程方便之前的程序移过来
 楼主| x_hzx 发表于 2022-9-27 22:16 | 显示全部楼层
WCHTech37 发表于 2022-9-27 11:18
您好,MRS是支持C/C++编程的。附件为相关资料说明以及演示例程,可供参考:
...

按照大师提供的文档说明.c/c++混合编程OK。谢谢大师指导
gygp 发表于 2022-10-5 17:39 | 显示全部楼层
这个没有用过,不知道是否可以兼容开发
10299823 发表于 2022-10-5 17:48 | 显示全部楼层
C语言还不能解决问题吗      
loutin 发表于 2022-10-5 18:17 | 显示全部楼层
Mounriver studio是eclipse的产品,应该可以的。
gygp 发表于 2022-10-5 18:45 | 显示全部楼层
ch32v307可以使用c++开发吗   
usysm 发表于 2022-10-5 19:52 | 显示全部楼层
可以C、C++混合编程               
 楼主| x_hzx 发表于 2022-10-8 08:52 | 显示全部楼层
10299823 发表于 2022-10-5 17:48
C语言还不能解决问题吗

C语言可以解决问题。只是之前的源码是C++的。如果支持混合编程的话,程序移过来会快一点
chenqianqian 发表于 2022-10-8 20:24 来自手机 | 显示全部楼层
C++没试过,但是IDE是支持的,不知道编译效率咋样。
amomcu2021 发表于 2022-10-9 14:31 | 显示全部楼层
ch32v307这个芯片很好,   我们脱机烧录器都支持了, 自己项目也在用
 楼主| x_hzx 发表于 2022-10-9 18:35 | 显示全部楼层
amomcu2021 发表于 2022-10-9 14:31
ch32v307这个芯片很好,   我们脱机烧录器都支持了, 自己项目也在用

有大神用过就放心了
tpgf 发表于 2022-10-10 13:31 | 显示全部楼层
extern "C"是C++的特性,是一种链接约定,通过它可以实现兼容C与C++之间的相互调用
八层楼 发表于 2022-10-10 13:46 | 显示全部楼层
在混合编程中,如果我们不进行任何处理,而相互效用的话,必然会出现在链接的时候,找不到符号链接的情况
观海 发表于 2022-10-10 13:59 | 显示全部楼层
C++和C都是编译型语言,互相混合相对容易
wowu 发表于 2022-10-10 14:34 | 显示全部楼层
混合编程的“混合”操作发生在链接这一步
木木guainv 发表于 2022-10-10 15:04 | 显示全部楼层
C++支持函数名重载,而C不支持,因此编译器生成目标文件时,函数名在目标文件中的临时内部名称规则不同,导致链接时符号对不上
xiaoqizi 发表于 2022-10-10 15:24 | 显示全部楼层
可以是这种情况就是同一个项目中C是库,C++是源码,C++调用C
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

133

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部