首页 > 后端开发 > C++ > 为什么使用 GCC 编译'info.c”需要'-lstdc”标志?

为什么使用 GCC 编译'info.c”需要'-lstdc”标志?

Patricia Arquette
发布: 2024-11-29 19:25:21
原创
581 人浏览过

Why Does Compiling `info.c` with GCC Require the `-lstdc  ` Flag?

使用 GCC 编译 C 程序

虽然 GCC 能够编译 C 代码,但尝试编译“info.c”时遇到编译器错误“是由于链接器错误造成的。这些错误源于缺少与标准 C 库的链接。

要解决此问题,请将 -lstdc 标志添加到编译命令中:

gcc info.C -lstdc++
登录后复制

或者,一个更简单的解决方案是利用 g ,它执行以下操作:

  • 根据文件扩展名选择适当的后端编译器,类似于GCC。
  • 将所有 C 源文件编译为 C ,与 GCC 将 .c 文件编译为 C 形成对比。
  • 默认情况下,无论输入语言如何,在链接步骤中都包含 libstdc。

以下摘录自 Rup 的评论,简洁地解释了差异:

“GCC 将根据文件扩展名选择正确的后端编译器。但是,默认情况下它仅将二进制文件链接到标准 C 和 GCC 帮助程序库。相比之下,g 在其链接步骤中包含 libstdc默认情况下,无论输入语言如何。”

以上是为什么使用 GCC 编译'info.c”需要'-lstdc”标志?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板