Linux下C和C++相互调用
2022/3/6 7:17:12
本文主要是介绍Linux下C和C++相互调用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录
C++调用C代码
C代码调用C++代码
C和C++几乎是不分仲伯,我们在写C代码或是C++代码时,常常会发生彼此混合调用的现象;而且C语言和C++语言都有一些独有的非常有价值的项目,因而两种语言的互操作,充分利用前人造的轮子是一件非常有价值的事情。
C++调用C代码
C++中相关的定义及声明
#ifdef __cplusplus
extern "C" {
#endif // __cplusplus
#include <stdio.h>
void show();
#ifdef __cplusplus
}
#endif
int main(int argc, char *argv[])
{
show();
return 0;
}
C代码中被调用函数的实现
C头文件
/*c头文件*/
#ifndef __TEST_H__
#define __TEST_H__
void show();
#endif
C源文件
/*c源文件文件*/
#include "c_test.h"
#include <stdio.h>
void show()
{
printf("show in c is:%s\n", "Hello Word");
}
makefile文件
cpp:
gcc -c *.c
g++ -c *.cpp
g++ -o cpp_test *.o
clean:
rm *.o cpp_test
编译及运行结果
C代码调用C++代码
C++中相关的定义及声明
C++头文件
#ifdef __cplusplus
extern "C" {
#endif
void cpp_fun();
#ifdef __cplusplus
}
#endif
C++源文件
#include "cpp_test.h"
#include <stdio.h>
#ifdef __cplusplus
extern "C"
{
#endif
void cpp_fun()
{
printf("cpp_fun :%s\n","Hello Word C");
}
#ifdef __cplusplus
}
#endif
C代码中被调用函数的实现
#include "cpp_test.h"
int main()
{
cpp_fun();
}
makefille文件
c:
gcc -c *.c
g++ -c *.cpp
gcc -o c_test *.o -lstdc++
clean:
rm *.o c_test
编译及运行结果
————————————————
版权声明:本文为CSDN博主「XiaoCheng'Blog」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_44045338/article/details/105746744
这篇关于Linux下C和C++相互调用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-12如何创建可引导的 ESXi USB 安装介质 (macOS, Linux, Windows)
- 2024-11-08linux的 vi编辑器中搜索关键字有哪些常用的命令和技巧?-icode9专业技术文章分享
- 2024-11-08在 Linux 的 vi 或 vim 编辑器中什么命令可以直接跳到文件的结尾?-icode9专业技术文章分享
- 2024-10-22原生鸿蒙操作系统HarmonyOS NEXT(HarmonyOS 5)正式发布
- 2024-10-18操作系统入门教程:新手必看的基本操作指南
- 2024-10-18初学者必看:操作系统入门全攻略
- 2024-10-17操作系统入门教程:轻松掌握操作系统基础知识
- 2024-09-11Linux部署Scrapy学习:入门级指南
- 2024-09-11Linux部署Scrapy:入门级指南
- 2024-08-21【Linux】分区向左扩容的方法