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