gpt4 book ai didi

c++ - 为什么 c++ 可以包含 并调用 c(platform :ubuntu 14. 04 compiler :gcc 4. 8.4) 的 printf 方法

转载 作者:行者123 更新时间:2023-11-30 01:09:31 25 4
gpt4 key购买 nike

c++编译器可以编译出这样的代码,并正确执行

#include <stdio.h>
int main() {
printf("test...\n");
return 0;
}

我认为 printf.c 会被 c 编译器编译成 printf.o,我刚刚检查了 stdio.h,没有 extern "C"关键字,那么 c++ 链接器如何在编译的 printf.o 中链接 printf用c编译器?(顺便说一句,我的平台是ubuntu 14.04,编译器是gcc 4.8.4)

最佳答案

printf是 C++ 标准库的一部分。

<stdio.h>您包含在 C++ 源代码中的 header 属于 C++ 标准库,并且不一定与 C 编译器包含的内容相同。

C++ 实现如何利用相应的 C 实现(如果有的话)是一个实现细节。

关于c++ - 为什么 c++ 可以包含 <stdio.h> 并调用 c(platform :ubuntu 14. 04 compiler :gcc 4. 8.4) 的 printf 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40198922/

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