C++(十四)之C++中调用C函数

本文详细介绍了在C++项目中如何通过 extern "C" 语法调用已有的C语言函数,通过创建cppCallCFun.cpp、CModule.c和CModule.h三个文件的实例,演示了在C++中调用C语言函数的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本篇文章我们主要讲解在C++中如何调用C语言的函数。

在我们之前的积累中,一些写好的程序模块用C已经完成了。

但是C++项目中又要重新写这些功能。

这个时候我们可以透过以下方法直接调用之前的函数模块。

 

下面我们举例说明:

 

三个文件总共:

cppCallCFun.cpp

CModule.c

CModule.h

 

cppCallCFun.cpp:

/****************************************************
 * brief  : C++中调用C函数 
 * author : shao 
 * date   :	2020-02-24
 * note   : none
 *
 ****************************************************/
#include <iostream>

#include "CModule.h"

using namespace std;


int main(void)
{
	func1();
	
	cout << "func2(2, 3) = " << func2(2, 3) << endl; 
	
	return 0;
}

CModule.c:

#include "CModule.h"

void func1(void)
{
	printf("C function1!\n");
}

int func2(int a, int b)
{
	return (a+b);
}

CModule.h:

#ifndef CMODULE_H
#define CMODULE_H

#include <stdio.h>

#if __cplusplus
extern "C" {
#endif

void func1(void);
int func2(int a, int b);



#if __cplusplus
}
#endif

#endif /* CMODULE_H */

 

结果如下:

 

 在.cpp和.c文件中没有什么改动。

主要是在*.h中

我们添加

 #if __cplusplus
extern "C" {
#endif

 

C语言的声明部分

...

 

#if __cplusplus
}
#endif

 

然后在cpp中包含一下c的头文件就可以正常调用了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值