C++中引用C

一般我们打开一个C写的库,比如cJSON.h这个文件:

 

#ifndef cJSON__h 
#define cJSON__h

#ifdef __cplusplus
extern "C"
{
#endif

C声明部分XXXXXXXXXXXXXXXX

#ifdef __cplusplus
}
#endif

#endif

 

#ifndef cJSON__h 

#define cJSON__h

这个相当于是一个默认的规范,格式大概就是这样的,文件名_h , 当然也可以用别的,文件名可以保证唯一性。

用来区分在任何 C++或者C 所有的文件都能引入这个库

 

而C++文件默认会有一个宏 #define __cplusplus,所以用这个宏来区分C++和C

 

另外:

#pragma once 作用同 #ifndef _c文件名全大写_H, 但是比较老的编译器不支持,兼容性没有前者好
#pragma once只针对本文件,前者支持部分代码

posted @ 2020-12-01 15:36  liuw_flexi  阅读(325)  评论(0编辑  收藏  举报