Compiling
Clang++ 編譯,但不執行
我嘗試通過鍵入來編譯程序(假設這裡我是 cd’d 進入目錄)
clang++ file_name.cpp
。它編譯並應該自動執行,但它沒有,只是結束事件,然後打開終端以供輸入。我在文件夾目錄中看到一個名為“a.out”的文件。如果我輸入clang++ file_name.cpp
,什麼也不會發生,我又回到了終端。如果我鍵入clang++ a.out.cpp
,編譯器會說它找不到文件,並且編譯器會關閉。我試圖查看是否正確安裝了clang,它是。我不知道怎麼了。
像
clang++
只編譯原始碼的編譯器。在您的情況下,它會創建執行檔a.out
(因為您沒有明確告訴它使用該-o
選項使用其他輸出文件名)。編譯器不會自動執行生成的執行檔。這些事情也適用於g++
(GNU C++ 編譯器)以及Cclang
和gcc
C 編譯器(以及大多數其他需要編譯的語言的編譯器)。要執行執行檔,請發出命令
./a.out
在 shell 的命令提示符下。
要為執行檔指定一個不同於傳統預設名稱的名稱
a.out
,請使用類似clang++ -o myprog file_name.cpp
從.
myprog
_file_name.cpp
給定單個文件中的原始碼
file_name.cpp
,make
也可以file_name
使用以下命令將原始碼編譯成執行檔make file_name
而在與原始碼文件相同的目錄中(但前提是原始碼自
file_name
上次編譯後已更新)。這要求 noMakefile
存在,而是使用內置的隱式規則make
來編譯 C++ 原始碼。採用
CXX=clang++ make file_name
顯式使用
clang++
編譯器。有關這方面的更多資訊,請參閱有關隱式規則
make
的 GNU文件(其他實現,例如在 BSD 系統上,使用類似的隱式規則)。make