gpt4 book ai didi

c++ - extern "C"声明如何工作?

转载 作者:IT老高 更新时间:2023-10-28 12:52:11 25 4
gpt4 key购买 nike

我正在学习编程语言类(class),我们正在讨论 extern "C" 声明。

除了“它接口(interface) C 和 C++”之外,这个声明在更深层次上是如何工作的?这对程序中发生的绑定(bind)也有什么影响?

最佳答案

extern "C" 用来保证后面的符号不是mangled (装饰)。


示例:

假设我们在一个名为 test.cpp 的文件中有以下代码:

extern "C" {
int foo() {
return 1;
}
}

int bar() {
return 1;
}

如果你运行 gcc -c test.cpp -o test.o

看看符号名称:

00000010 T _Z3barv

00000000 T foo

foo() 保留它的名字。

关于c++ - extern "C"声明如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2403391/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com