gpt4 book ai didi

c++ - C++ 和 C 使用同一种链接器吗?

转载 作者:搜寻专家 更新时间:2023-10-31 00:09:35 25 4
gpt4 key购买 nike

正如标题所问,C++和C在链接过程中使用的是同一种链接器吗?另外,对于C++和C的编译器,C++编译器是建立在C编译器之上的吗?

最佳答案

两种实现都使用相同的链接器。但是,C++ 必须对被链接事物的名称和类型进行编码,以支持函数重载,这样它们就不会与错误的函数链接。所以,如果你有两个像这样的 C++ 函数:

 void func( int );
void func( int, double);

然后 C++ 编译器将为这些函数生成类似 func_intfunc_int_double 的名称。确切生成的名称是特定于编译器的,并且 C++ 标准未指定。由于 C 不支持重载,因此在 C 中不需要这样的机制,但是如果你想将 C++ 代码与 C 链接起来,你确实需要关闭这种所谓的名称修改,这就是 extern "C " 构造确实如此。

关于c++ - C++ 和 C 使用同一种链接器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42334132/

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