栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

STM32 C/C++ (二)混合编程 函数相互调用

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

STM32 C/C++ (二)混合编程 函数相互调用

一、简述

使用C++开发STM32。
需要解决C与C++如何混合编程的问题,在C中调用C++函数,C++中调用C函数

二、编程环境

STM32CubeIDE V1.9.0 编译链:gcc g++

三、解决办法
  • C调用C++
    在A.c中调用B.cpp中的C++函数void CallCpp()
  1. 在B.cpp中,编写CallCpp()函数的C++实现
// B.cpp
extern "C" void CallCpp() {
    // 写一些C++的事情
}
  1. 在A.c中,引用CallCpp()前,声明该函数
// A.c
void CallCpp();

void main() {
    CallCpp();
}

  • C++调用C
    在B.cpp调用A.c中的函数void CallC()
  1. 在A.c中定义该函数
// A.h
void CallC() {
    // 写一些C的事情
}
  1. 在B.cpp中,在引用前,使用extern "C"声明该函数
//B.cpp
extern "C" void CallC();

void main() {
    CallC();
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/993721.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号