相关疑难解决方法(0)

1511
推荐指数
11
解决办法
72万
查看次数

为什么我们需要在C++中使用extern"C"{#include <foo.h>}?

为什么我们需要使用:

extern "C" {
#include <foo.h>
}
Run Code Online (Sandbox Code Playgroud)

特别:

  • 我们什么时候应该使用它?

  • 在编译器/链接器级别发生了什么,需要我们使用它?

  • 如何在编译/链接方面解决了需要我们使用它的问题?

c++ name-mangling linkage extern-c

133
推荐指数
10
解决办法
8万
查看次数

何时在C++中使用extern"C"?

可能重复:
为什么我们需要在C++中使用extern"C"{#include <foo.h>}?

我经常看到程序编码如下:

extern "C" bool doSomeWork() {
  //
  return true;
}
Run Code Online (Sandbox Code Playgroud)

为什么我们使用extern "C"块?我们可以用C++中的东西替换它吗?使用有什么好处extern "C"吗?

我确实看到了一个解释这个的链接但是为什么我们需要在已经有C++的情况下用C语言编译?

c c++ extern-c

22
推荐指数
2
解决办法
4万
查看次数

标签 统计

c++ ×3

extern-c ×3

c ×2

linkage ×2

name-mangling ×2