我有一個非常小的C++程序,它由兩個文件組成:main.cpp
和something.cpp
。我想在OS X Terminal中使用g++
編譯我的程序。以下是我所嘗試的:當我運行g ++時,我需要使用-o嗎?
> g++ main.cpp something.cpp
> ./a.out
這是正確的嗎?我遇到過使用-o
標誌的例子。我不確定是否有必要。
我有一個非常小的C++程序,它由兩個文件組成:main.cpp
和something.cpp
。我想在OS X Terminal中使用g++
編譯我的程序。以下是我所嘗試的:當我運行g ++時,我需要使用-o嗎?
> g++ main.cpp something.cpp
> ./a.out
這是正確的嗎?我遇到過使用-o
標誌的例子。我不確定是否有必要。
-o
選項不是必需的。如果沒有指定,默認的行爲是把可執行文件 「的a.out」:在文件file
-o文件 地輸出。這適用於任何類型的輸出,無論是可執行的 文件,目標文件,彙編器 文件還是預處理的C代碼。
如果未指定-o,默認是把一個可執行文件中的a.out,對象文件source.suffix在source.o,其 彙編文件中source.s,一個預編譯 頭文件在source.suffix.gch中,以及標準輸出中的所有預處理C源程序。
所以是的,這是正確的。
它工作嗎?這是一個很好的指示正確性! -o
標誌允許您指定文件名,以便可執行文件未命名
如果添加-o,比如`g ++ main.cpp something.cpp -o executable`,那麼它將在當前目錄中創建一個名爲* executable *的已編譯可執行文件。如果你省略了-o標誌,g ++會輸出到預設的文件名* a.out * – 2011-12-16 20:04:20