esp32库依赖

esp32 idf版本使用vscode插件开发,新建库需要注意的地方

复制代码
#ifndef HZC_TEST_H
#define HZC_TEST_H

#include <stdio.h>

#ifdef __cplusplus
extern "C" {
#endif

void hzc_test(void);

#ifdef __cplusplus
}
#endif

#endif // HZC_TEST_H

C语言融合进C++项目,需要做 extern "C" 这个声明,用于确保 C 语言编写的函数可以被 C++ 代码正确调用。

#ifdef __cplusplus

extern "C" {

#endif

自己的函数

#ifdef __cplusplus

}

#endif

这里面 #ifdef __cplusplus 也不能少。

最近也是被这个问题折腾了好几天,开始一直以为是cmakelist.txt文件没有包含进去,后来比对了很多遍都没问题,才开始考虑C++和C语言的兼容性。

相关推荐
小许同学记录成长9 分钟前
三维重建技术文档
算法·无人机
fufu031114 分钟前
vscode配置C/C++环境,用GDB调试简单程序分享
开发语言·c++
水云桐程序员2 小时前
C++变量的概念及用法
开发语言·c++
小O的算法实验室2 小时前
2026年ASOC,基于多目标优化去噪双存档进化算法+路径规划,深度解析+性能实测
算法·论文复现·智能算法·智能算法改进
水饺编程2 小时前
第5章,[Win32 章节] :几种典型的颜色
c语言·c++·windows·visual studio
2601_954526752 小时前
逆向解析Temu底层动销算法:基于API高并发轮询与全域存量透视的自动化架构重构
算法·架构·自动化
Larry_Yanan2 小时前
QML面试常见问题(一)QML中组件呈现方式的方法有哪些
开发语言·c++·qt·ui·面试
Aurorar0rua2 小时前
CS50 x 2024 Notes C -12
c语言·开发语言·学习方法
jimy12 小时前
gnu89和c99中的inline关键字的关系和差异
c语言
Σίσυφος19002 小时前
数据标准化(拟合的时候使用非常重要)
人工智能·算法