C++程序,用g ++编译

seg*_*ult 4 c++ compiler-construction g++

我非常清楚在linux环境下使用g ++编译C++程序.但是,可能是我错过了一些东西,我得到了这种奇怪的输出/行为.

我在test.cpp中有源文件.为了编译这个,我做到了

(1)
g++ -c test.cpp 
g++ -o test test.o
./test

一切正常.但是,当我在同一阶段进行编译和链接时,就像这样

(2)
g++ test.cpp -o test 
./test => Works fine
(3)
g++ -c test.cpp -o test => Doesn't work

在我的最后一种情况下,测试生成但不再可执行; 但在我的猜测它应该工作正常.那么,有什么不对或我需要更改一些设置/配置?

我正在使用g ++ 4.3.3

谢谢.

小智 12

当你说:

g++ -c test.cpp -o test
Run Code Online (Sandbox Code Playgroud)

-c标志禁止链接,因此不会生成可执行文件 - 您正在重命名.o文件.

基本上,不要这样做.