linux 使用'gcc'和'c++'命令编译C++文件有什么区别?[duplicate]

6tdlim6h  于 2022-11-02  发布在  Linux
关注(0)|答案(2)|浏览(166)

此问题在此处已有答案

What is the difference between g++ and gcc?(共10个答案)
20天前关闭。
机构群体在9天前审核了是否重新讨论此问题,并将其关闭:
原始关闭原因未解决
在学习C时,我尝试使用'gcc'命令编译HelloWorld程序,发现需要添加'-lstdc'选项才能成功编译:

gcc HelloWorld.cpp -lstdc++

然而,我漫不经心地尝试使用'c++'作为命令来编译文件,令我非常惊讶的是,它不需要使用-lstdc选项就可以工作,并且它生成的输出可执行文件与使用'gcc'命令和'-lstdc'选项生成的输出可执行文件运行得一样好:

c++ HelloWorld.cpp

有没有人知道这两个命令之间的输出是否有隐藏的差异,以及“c++”命令是否可以安全地用来代替“gcc”命令?我已经搜索了十几个网站,而且没有一个有任何文档或代码示例,其中的“c++”被用作在我运行的操作系统中编译C++可执行文件的命令(Linux Ubuntu 20.04)中的一个。

3ks5zfa0

3ks5zfa01#

c++g++的软链接。
那么你就可以在这个问题上找到区别:What is the difference between g++ and gcc?

a2mppw5e

a2mppw5e2#

这两个命令都是GNU编译器集合(GCC)的一部分

  • c++默认假定C代码作为输入源,并且应该是编译C代码的首选方式
  • gcc通常被默认为C编译器

无论是一个可以编译C/C与适当的选项,因为你已经发现或混合的源代码。-lstdc++选项存在于C,所以当你有部分代码写在C和部分在C编译与gcc
在C++项目中使用c++当然是安全的。man pageman c++)总是一个有用的参考资源。

相关问题