C++中如何调用C代码
Posted Overboom
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++中如何调用C代码相关的知识,希望对你有一定的参考价值。
背景:为什么会在C++代码中调用C代码
- 与状态机交互的时候,状态机模型在matlab中生成的是C代码
- 拿到别的团队开放的三方库,对应的头文件和接口也是C代码
C++中要使调用C函数会出现函数未定义的错误
要想不报错(未定义错误)其实很简单,只需要两步:
1> 使用extern “C” 对原C文件的头文件进行修改
例如:
原C文件的头文件:
#ifndef LIST_H
#define LIST_H
#include <stdio.h>
#include<stdlib.h>
#include<string.h>
#endif // LIST_H
修改后的头文件:
#ifndef LIST_H
#define LIST_H
#ifdef __cplusplus
extern "C"
#endif
#include <stdio.h>
#include<stdlib.h>
#include<string.h>
#ifdef __cplusplus
#endif
#endif // LIST_H
2> 对在cpp头文件中的引用#include的格式进行修改
例如:
原引用:
#include"list.h"
修改后的引用:
extern "C"
#include"list.h"
以上是关于C++中如何调用C代码的主要内容,如果未能解决你的问题,请参考以下文章