C++ 链接到C函数

图片描述

这个表述的意思我看懂了,代码我没看懂,预处理链接了C语言,后面引入了一个c函数。但是这段代码表明的是什么意思????

回答:

当用 C++ 编译时,__cplusplus 被定义,代码变为

extern "C"

int strcmp(const char*, const char*);

(C++ 里必须提供 extern "C" 以正确链接 C 函数)

当用 C 编译时,__cplusplus 没有定义,代码变为

int strcmp(const char*, const char*);

(C 并不支持 extern "C" ,如果有 extern "C" 会出错)

这样,这段代码即可以作为 C 编译,又可以作为 C++ 编译。

这种代码一般出现在头文件里,以便这个头文件即可以被 C 文件包含,也可以被 C++ 文件包含。

以上是 C++ 链接到C函数 的全部内容, 来源链接: utcz.com/p/193311.html

回到顶部