一、意义

  Extern "C":告诉编译器,这部分代码按C语言的方式进行编译,而不是C++的。

   _cplusplus:.cpp文件默认定义的宏。用来判断是否为.cpp文件。

二、应用场合

1,extern "C"修饰函数声明:

    在一个既有.c文件,又有.cpp文件的工程中,当.c文件中调用或使用了.cpp文件中的函数、

变量,为避免编译时的不兼容,在 .cpp对应的头文件中要加入:

#ifdef __cplusplus      //  如果是cpp文件,

extern "C"{       //   则采用C语言方式进行编译

#endif

… //其他代码

#ifdef __cplusplus

}

#endif

2,extern "C"修饰头文件:

    包含头文件时,相当于头文件中的函数声明都加了extern "C",都按照C语言方式进行编译。

  一般在 .cpp文件包含.c文件的头文件时使用。

    

参考链接:https://blog.csdn.net/gao1440156051/article/details/52073925

最新文章

  1. 用好spring mvc validator可以简化代码
  2. [JS]笔记11之正则表达式
  3. ELK日志解决方案安装配置与使用
  4. 组合数学 - 母函数的运用 + 模板 --- hdu : 2082
  5. Java web 开发环境配置。
  6. web项目直接在浏览器上访问不需要带.jsp,直接ip地址加项目名 在web.xml里配置
  7. 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 二十一║Vue实战:开发环境搭建【详细版】
  8. unicode解码
  9. mysql的增删改查
  10. go https ajax
  11. highcharts 知识点
  12. 确保线程安全下使用Queue的Enqueue和Dequeue
  13. SpringMVC处理ajax请求的跨域问题和注意事项
  14. [Windows Azure] How to use the Windows Azure Blob Storage Service in .NET
  15. 十四、springboot全局处理异常(@ControllerAdvice + @ExceptionHandler)
  16. 去掉iphone上拨号弹出框
  17. WEB入门.五 页面设计简介
  18. STS 设置 注解提示
  19. angular自定义指令命名的那个坑
  20. 最长上升子序列nlogn算法

热门文章

  1. composer的安装以及具体使用
  2. 避免切换横竖屏Fragment的重复加载导致UI混乱
  3. jna调用c++的dll
  4. php中使用sphinx搜索引擎
  5. Tableau可视化绘图教程
  6. 6. Redis复制
  7. Intel 处理器架构演进 转
  8. js中的回调函数 和promise解决异步操作中的回调地狱问题。
  9. EasyPR源码剖析(3):车牌定位之颜色定位
  10. oracle竖表转横表字段合并