在这article中,关键字extern后面可以跟"C"或"C++".为什么要使用"extern"C++?实用吗?

推荐答案

语言允许:

extern "C" {
  #include "foo.h"
}

要是福呢.H包含了一些需要C++链接的东西?

    void f_plain(const char *);
    extern "C++" void f_fancy(const std::string &);

这就是你让链接者开心的方式.

C++相关问答推荐

RC4 Windows api解密函数在c++中工作,但在golang中不工作

是否可以在C中进行D3 D12申请?

如何判断宏参数是否为C语言中的整型文字

是否所有C编译器在将浮点数转换为整型数时都会隐式删除小数?

我可以在C中声明不同长度数组的数组而不带变量名吗?

使用C时,Windows CMD中的argc参数是否包含重定向命令?

非常大的数组的大小

以下声明和定义之间的区别

如何在C中使printf不刷新标准输出?

为什么cudaFree不需要数据 struct 的地址?

轮询libusb_pollfd struct 列表的正确方式是什么?

错误:包含文件时类型名称未知

防止规范模式在C++中 echo 特殊字符

如何使用_newindex数组我总是得到错误的参数

按长度对argv中的单词进行排序

Wcstok导致分段故障

如何使这个While循环在新行上结束

C中的数组下标和指针算法给出了不同的结果

如何在C中计算包含递增和递减运算符的逻辑表达式?

在C中交换字符串和数组的通用交换函数