你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

c++与c混合编译问题讨论

[复制链接]
rydy 提问时间:2018-10-10 17:56 /
开发环境:Visual Studio 2015 + VisualGDB (编译器为arm-eabi GCC 7.2.0)+ STM32CubeMX
        c与c++混合编程情况下,*.c文件会使用arm-xxx-gcc编译器进行编译,*.cpp文件会使用arm-xxx-g++编译器进行编译,STM32CubeMX生成文件都是*.c源文件,在不修改文件名后缀情况下,我现在是想在*.c源文件中使用c++特性(比如重载),应该怎么处理。

收藏 评论2 发布时间:2018-10-10 17:56

举报

2个回答
Dandjinh 回答时间:2018-10-11 09:31:44
我也没找到方法,目前我是在cpp中暴露个全局函数cppmain(),在c中的main中跳转到cppmain,然后由cpp接管整个程序。
rydy 回答时间:2018-10-11 12:02:01
Dandjinh 发表于 2018-10-11 09:31
我也没找到方法,目前我是在cpp中暴露个全局函数cppmain(),在c中的main中跳转到cppmain,然后由cpp接管整 ...

你也在用TM32CubeMX吗,我现在想法是TM32CubeMX生成的*.c源码直接使用,关于硬件的配置使用TM32CubeMX生成(不再手动编写),自定义逻辑功能使用C++开发,将stm32 板级配置与自定义逻辑处理分开。但是TM32CubeMX中使用FreeRTOS自动生成代码(*.c)中需要调用自定义逻辑功能C++代码(具有C++特性,extern "C"不适应)。如果将TM32CubeMX中使用FreeRTOS自动生成代码(*.c)改为*.cpp可以解决,但是TM32CubeMX重新生成后需要手动修改,如果能直接指定TM32CubeMX中使用FreeRTOS自动生成代码(*.c)使用arm-xxx-g++编译器进行编译就好了。

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版