“gcc”和“c++”命令编译C++文件有什么区别?

27 浏览
0 Comments

“gcc”和“c++”命令编译C++文件有什么区别?

这个问题已经有答案了:
g++和gcc之间有什么区别?

社区在5个月前回顾了是否重新打开这个问题 5个月前,并将其关闭:

原关闭原因未被解决

在学习C++时,我尝试使用'gcc'命令编译一个HelloWorld程序,发现我需要添加'-lstdc++'选项才能成功编译:

gcc HelloWorld.cpp -lstdc++

然而,我无意中尝试使用'c++'作为编译文件的命令,令我惊讶的是,它成功工作而无需我使用-lstdc++选项,并且它生成的输出可执行文件与使用'-lstdc++'选项的'gcc'命令生成的文件一样良好地运行:

c++ HelloWorld.cpp

有没有人知道这两个命令之间的输出是否存在隐藏的差异,以及'c++'命令是否可以安全地替换'gcc'命令? 我搜索了大约十几个网站,没有一个网站有关于在我运行的OS(Linux Ubuntu 20.04)中使用'c++'编译C++可执行文件的文档或示例代码。

admin 更改状态以发布 2023年5月24日
0
0 Comments

这两个命令都是GNU编译器集合(GCC)的一部分,其中包括:

  • c++ 默认将C++代码作为输入源,应该是编译C++代码的首选方式
  • gcc 传统上默认被认为是一个C编译器

两种命令都可以使用适当的选项编译C/C++或混合源代码。对于C,存在 -lstdc++ 选项,因此当您需要使用gcc 编译既包含C也包含C++代码的情况。

对于C++项目,使用 c++ 是完全安全的。始终可以通过 man页面man c++)来查询帮助信息。

0
0 Comments

c++g++的软链。

你可以在这个问题上找到不同之处:What is the difference between g++ and gcc?

0