博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++ extern C
阅读量:4686 次
发布时间:2019-06-09

本文共 860 字,大约阅读时间需要 2 分钟。

1 /****test.cpp****/ 2  3 #include
4 using namespace std; 5 extern "C" //利用C编译器的符号规则生成_value 6 { 7 int value(); 8 } 9 int main(){10 cout<
<
1 /***** value.c ****/2 //因为是.c文件 所以对应于C的value()函数声明3 int value(){4     return 5;5 }

在C中调用C++函数:

1 /****invokecpp.h****/2 /*3     使用C编译符号规则4 */5 extern "C"{6     void show();7 }
1 /****invokecpp.cpp*****/ 2 #include
3 #include"invokecpp.h" 4 /* 5 为了让函数void show();能够被C语言程序调用,必须用 6 extern"C" 通知编译器采用C语言的规则解析函数名,这个 7 工作可在头文件invokecpp.h中完成。 8 */ 9 void show(){10 printf("Hello");11 }
/***main.c****//*    在C语言源文件main.c中,不能直接包含invokecpp.h    因为C语言不支持extern "C"声明。在.c文件中包含了extern "C"时    会出现编译错误。所以在main.c中,应直接进行函数原型声明,这样,    编译器可在所有参与连接的目标文件中寻找名字为_show的函数调用。*/void show();int main(){    show();}

 

转载于:https://www.cnblogs.com/teng-IT/p/6023530.html

你可能感兴趣的文章
mac 常用地址
查看>>
鼠标经过切换图片
查看>>
流程控制 Day06
查看>>
Linux下安装Tomcat
查看>>
windows live writer 2012 0x80070643
查看>>
C程序的启动和终止
查看>>
asp.net web 定时执行任务
查看>>
tomcat 和MySQL的安装
查看>>
11.5 内部类
查看>>
Cosine Similarity
查看>>
浅谈JAVA集合框架
查看>>
halt和shutdown 的区别
查看>>
git常用操作
查看>>
京东SSO单点登陆实现分析
查看>>
render()方法是render_to_response
查看>>
u-boot启动第一阶段
查看>>
北京大学2019年数学分析考研试题
查看>>
MySQL批量SQL插入性能优化
查看>>
定义列属性:null,default,PK,auto_increment
查看>>
用户画像展示
查看>>