c __cplusplus详解
Posted WFApple
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c __cplusplus详解相关的知识,希望对你有一定的参考价值。
Code:
#ifdef __cplusplus
extern "C" {
#endif
...
#ifdef __cplusplus
}
#endif
解释:1.c++中定义了__cplusplus,C语言中没有该定义。即:识别是c代码还是c++代码。
如下段代码:
#include <stdio.h>
int main(int argc,char *argv[])
{
#ifdef __cplusplus
printf("This is a c ++ program!\n");
#endif
#ifndef __cplusplus
printf("This is a c program!");
#endif
reutrn 0;
}
分别编译:gcc test.c
./a.out
g++ test.c
./a.out
看到程序输出内容你便知道了。
解释2.C语言和C++编译出来的函数不用,调用extern "C"会让c++编译器按照c的编译格式来编译。多用于c++库的头文件。
以上是关于c __cplusplus详解的主要内容,如果未能解决你的问题,请参考以下文章
#ifdef __cplusplus 的用法(C语言调用c++代码)
#ifdef __cplusplus+extern "C"的用法