博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++ 为什么要使用#ifdef __cplusplus extern "C" { #endif
阅读量:6540 次
发布时间:2019-06-24

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

经常看到别人的头文件 有这样的代码

#ifdef __cplusplusextern "C" {#endif// C 样式 的函数#ifdef __cplusplus}#endif

为什么要这样呢?

因为 C 语言不支持重载函数 也就是同名函数,参数却不一样,C++支持,其编译器对函数名的处理方法不一样,导致 虽然都是C 样式的函数,不同编译器编译出来的不一样。

如果 是 C语言 编译的中间文件,要C++ 来调用,那么就需要这个 了,C++ 有了 extern "C" 就会按照 C 语言的方法进行函数命名。这样编译出来的中间文件 就是C 样式的函数名,C C++ 都可以调用。

如果 C++ 编译的中间文件,要C语言来调用,是不行的。

 

 

转载地址:http://wysdo.baihongyu.com/

你可能感兴趣的文章
oracle-xe手工创建数据库
查看>>
我的友情链接
查看>>
UG中卸载被占用的DLL
查看>>
eclipse 设置注释模板详解,与导入模板方法介绍总结
查看>>
Cocos2d-x3.2 文字显示
查看>>
mongodb group
查看>>
session_start()放置位置的不正确引发的ROOT常量 未定义的错误
查看>>
如何设定VDP同时备份的任务数?
查看>>
ipsec的***在企业网中的经典应用
查看>>
过来人谈《去360还是留在百度?》
查看>>
mysql备份工具innobackupex,xtrabackup-2.1安装,参数详解
查看>>
本地Office Project计划表同步到SharePoint2013任务列表的权限问题
查看>>
Windows2008 R2 GAC权限问题
查看>>
洛谷——P1469 找筷子
查看>>
springboot项目自定义注解实现的多数据源切换
查看>>
特此说明
查看>>
使用flume替代原有的scribe服务
查看>>
Windows Server 2008 启用公共文件夹共享
查看>>
Apple Watch的非“智能手表”卖点
查看>>
Python的函数参数传递:传值?引用?
查看>>