extern "C"

extern "C"主要用在c++调用c编写的函数或者相关代码时使用,因为c和c++的函数、变量结构类似,但是编译方式完全不同,这种写法指定c部分的代码按照c的编译方式去处理。

#ifndef CPP_HEADER
#define CPP_HEADER
extern "C" void print(int i);
#endif CPP_HEADER
#ifndef SOME_HEADER_INCLUDED
#define SOME_HEADER_INCLUDED
 
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */

/*
 * 这里的代码将按照c的编译方式处理。但是在语法上,还是遵循当前语言环境。
 */
 
#ifdef __cplusplus
}
#endif /* __cplusplus */
 
#endif /* SOME_HEADER_INCLUDED */

extern

file1.c:

int a = 1;

file2.c:

extern int a;

引申: static修饰的变量,只能在当前文件有效。

"C"

规定的写法,表示的是遵循c语言编译连接规约的语言(不一定是c语言)。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容