此问题在此处已有答案:
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)中的一个。
2条答案
按热度按时间3ks5zfa01#
c++
是g++
的软链接。那么你就可以在这个问题上找到区别:What is the difference between g++ and gcc?
a2mppw5e2#
这两个命令都是GNU编译器集合(GCC)的一部分
c++
默认假定C代码作为输入源,并且应该是编译C代码的首选方式gcc
通常被默认为C编译器无论是一个可以编译C/C与适当的选项,因为你已经发现或混合的源代码。
-lstdc++
选项存在于C,所以当你有部分代码写在C和部分在C编译与gcc
。在C++项目中使用
c++
当然是安全的。man page(man c++
)总是一个有用的参考资源。