#ifdef __cplusplus

C与C++互调详解

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

C++ CALL C CODE

C++代码中调用用C写成的库文件,就需要用extern"C"来告诉编译器:这是一个用C写成的库文件,请用C的方式来链接它们。

#ifdef  __cplusplus
extern "C" {
#endif

// 代码

#ifdef  __cplusplus
}
#endif

C CALL C++ CODE

那么你在c 中调用c++ 的代码的时候,c++ 的代码也使用这个关键字 ,后面括号内,写一些函数,那么,你在c 里声明好了即可,然后直接用之

eg:

//test.cpp
#include <stdio.h>
extern "C"{
	void mytest() {
		printf("mytest in .cpp file ok\n");
	}
}

//main.c
void mytest();
int main() {
	mytest();
	return 0;
}

PS:
//在C中引用C++语言中的函数和变量时,C++的函数或变量要声明在extern “C”{}里,但是在C语言中不能使用extern “C”,否则编译出错。

ref

https://www.cnblogs.com/nx520zj/p/5920782.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值