回答
如果它是一個簡單的單源程序:
make foo
源代碼文件是foo.c的或Foo.cpp中,等
你甚至需要一個makefile。 Make有足夠的內置規則將您的源文件構建成同名的可執行文件,減去擴展名。
運行剛剛構建的可執行文件與運行任何程序相同 - 但您通常需要指定可執行文件的路徑,因爲shell只會搜索$PATH
中查找可執行文件的內容,而且大多數情況下包括當前目錄(.
)。
所以運行生成的可執行foo
:
./foo
假設當前目錄不在路徑,語法是./[name of the program]
。
例如./a.out
gcc main.cpp -o main.out
./main.out
作爲一個noob我執行時沒有包含「./」這麼多的悲傷 – 2011-01-26 06:00:12
@ funk-shun我希望你的評論是谷歌搜索這種事情時的最好結果 - 讓我永遠弄清楚(爲我的Mac ) - 謝謝! – 2012-03-24 04:20:30
-bash:gcc:command not found – 2012-10-07 19:57:34
添加以下以獲得最佳的警告,你不會後悔。如果可以,編譯WISE(警告是錯誤)
- Wall -pedantic -Weffc++ -Werror
使用makefile
。即使對於非常小的(=單個文件)項目,這項工作也許是值得的,因爲您可以有多套編譯器設置來測試。這種調試和部署工作更容易。
閱讀make
manual,乍一看似乎很長,但大部分部分可以略過。總而言之,我花了幾個小時,讓我的工作更有成效。
在Unix(在Linux,Mac OS X,AIX等)環境中的所有應用程序的執行取決於執行搜索路徑上。
可以在終端與該命令顯示該路徑:
回波$ PATH
在Mac OS X(默認),這將顯示以下冒號分隔的搜索路徑:
在/ usr/bin中:/ bin中:/ usr/sbin目錄:/ sbin目錄:在/ usr/local/bin目錄:在/ usr/X11/bin中
因此,列出的目錄中的任何可執行文件都可以通過只輸入其名稱來運行。例如:
cat mytextfile。txt
這運行/bin/cat
並顯示mytextfile.txt到終端。
要運行任何其他不在可執行文件搜索路徑中的命令,都要求您限定可執行文件的路徑。所以說,我只好叫MyProgram我的主目錄在Mac上的可執行文件 OS XI可以完全限定像這樣:
/用戶/奧利弗/ MyProgram
如果你在某個位置在您希望執行的程序附近時,您可以使用部分路徑來限定名稱。例如,如果MyProgram
在目錄/Users/oliver/MyProject
我和我在我的主目錄,我可以有資格這樣的可執行文件的名稱,並將其執行:
MyProject的/ MyProgram
或者說我在該目錄/Users/oliver/MyProject2
,我想執行/Users/oliver/MyProject/MyProgram
我可以用這樣一個相對路徑,執行它:
../MyProject/MyProgram
同樣,如果我在與MyProgram
相同的目錄中,我需要使用「當前目錄」相對路徑。您所在的當前目錄是後跟斜槓的句點字符。例如:
./MyProgram
要確定你是哪個目錄目前使用的pwd
命令。
如果您通常將程序放在您希望運行的硬盤上,而不必限定其名稱。例如,如果您的主目錄中有一個「bin」目錄,用於其他程序的常用shell腳本,則更改可執行文件搜索路徑可能是明智的。
#!/bin/sh
export PATH=$PATH:~/bin
這裏的符號(〜)字符被用作一個快捷方式/用戶:
這可以通過創建或編輯現有.bash_profile
文件在你的主目錄,並添加線條輕鬆做/奧利弗。另請注意,散列爆炸(#!)行必須是文件的第一行(如果它不存在)。還要注意,這種技術要求您的登錄shell是bash(Mac OS X和大多數Linux發行版的默認值)。還要注意的是,如果你想安裝在~/bin
你的程序中優先於系統中的可執行文件中使用您應該重新安排出口聲明如下:
export PATH=~/bin:$PATH
這是對所有Unix機器的工作原理命令我使用它在Linux/Ubuntu上,但它也適用於OS X.在Terminal.app中鍵入以下命令。
$ g++ -o lab21 iterative.cpp
-o
是字母O不是零
lab21
將是你的可執行文件
iterative.cpp
是你的C++文件
在運行在終端運行下面這個命令式的程序:
$ ./lab21
我發現方向此鏈接:
http://www.wesg.ca/2007/11/how-to-write-and-compile-c-programs-on-mac-os-x/
基本上你:
gcc hello.c
./a.out (or with the output file of the first command)
瑞安,我改變這是一個答案,而不是評論,因爲它似乎是我太簡要。在「終端」中完成所有這些。
要使用G ++編譯器,你需要這樣做:
導航到你保存的* .cpp文件的目錄。
cd ~/programs/myprograms/
(的〜是你的家,一個快捷鍵即/用戶/瑞安/程序/ myprograms /,與你實際使用的位置替換。)編譯
g++ input.cpp -o output.bin
( output.bin可以任意擴展什麼的,真的。斌僅僅是通用於UNIX),應該沒有返回,如果它是成功的,那就是沒關係。通常你會在失敗時獲得回報。
但是,如果您鍵入
ls
,您將看到相同目錄中的文件列表。例如,你會看到其他文件夾,input.cpp和output.bin從目錄中,現在
./outbut.bin
兩個步驟執行對我來說:
第一:
make foo
則:
./foo
一個緊湊的方式去這樣做,可能是:
make foo && ./$_
很高興有一個班輪所以你可以輕鬆地再次重新運行可執行文件。
使用終端運行.C文件是一個兩步過程。 第一個步驟是在該終端輸入gcc和丟棄.C文件到終端,然後按回車:
username$ gcc /Desktop/test.c
在第二步驟中,運行下面的命令:
username$ ~/a.out
- 1. 如何在Unix控制檯或Mac終端上運行shell腳本?
- 2. 如何在mac終端上運行adb?
- 3. 編譯並運行在mac終端上的java程序
- 4. 如何使終端窗口在mac上的後臺運行
- 5. 在unix終端中運行java程序
- 6. 如何編寫unix控制檯?
- 7. 如何編譯和Android的終端上運行的Java程序
- 8. 如何從Mac終端運行.scptd?
- 9. 編譯並運行與終端
- 10. 如何創建終端/控制檯
- 11. 如何在Mac終端中使用C++ 11支持編譯C++
- 12. 編譯.Jar崩潰(沒有Java控制檯),但編譯並在Eclipse中運行?
- 13. IDE控制檯和終端的區別
- 14. 如何閱讀終端控制檯中的最後一行?
- 15. c程序正在編譯和運行,但我在終端
- 16. 如何運行控制檯
- 17. 執行unix終端後臺進程。
- 18. Linux和終端:如何在終端預約中運行命令?
- 19. 如何使用C++編寫控制檯終端
- 20. Java - 打開遊戲運行的控制檯或終端
- 21. heroku:運行控制檯連接到終端...
- 22. 如何在Mac終端上爲Java程序獲取控制檯輸入?
- 23. 如何在Mac OS(gcc編譯器)中隱藏控制檯窗口?
- 24. 在Mac終端上運行Python腳本
- 25. 無法在mac終端上運行npm
- 26. 在mac終端上運行sql文件
- 27. 如何在mac終端中運行C++程序
- 28. 如何在java中運行ffmpeg終端(mac)命令
- 29. 如何在系統調用中打印到控制檯(終端)
- 30. 如何在XCode中創建C++控制檯/終端項目?
對你有好處!點和斜槓在那裏,因爲在許多系統中,當前目錄(Unix中的「。」)不是由shell搜索的路徑的一部分。因此,添加它可以明確您要運行的程序。 – unwind 2008-10-21 08:49:24
更好的一點。 – 2008-10-21 10:14:42