Linux中國

如何在 Ubuntu/Debian Linux 上編寫、編譯和運行一個 C 程序

你是如何在 Linux 上使用 C 編寫你的程序的?它確實是非常簡單的,由三個簡單的步驟組成。

步驟 1: 編寫你的 C 程序,並使用一個 .c 的擴展名進行保存。例如,my_program.c

步驟 2: 在一個終端中使用 gcc 編譯器來編譯程序並生成目標文件,像這樣:

gcc -o my_program my_program.c

步驟 3: 在 Linux 中,你可以以運行生成的對象文件的方式來運行你的 C 程序:

./my_program

這只是如何在 Linux 中編譯和運行 C 程序的簡要總結。假設你是 C 語言或 Linux 系統的新手,我將仔細演示這些步驟,以便你能在 Linux 環境中舒服地編寫 C 程序。

事實上,我將討論如何在 Linux 終端中以及在代碼編輯器中運行 C 程序的兩種方式。

方法 1: 在 Linux 終端中運行 C 程序

為了在 Linux 中運行一個 C 程序,你需要在你的系統上有一個 C 編譯器。最流行的編譯器是 gcc GNU 編譯器套件 GNU Compiler Collection )。

你可以使用你發行版的軟體包管理器來安裝 gcc 。在基於 Debian 和 Ubuntu 的 Linux 發行版中,使用 apt 命令:

sudo apt install gcc

切換到保存你的 C 程序的目錄(或者提供路徑),然後通過編譯程序生成對象文件:

gcc -o my_program my_program.c

記住,提供輸出對象文件(-o my_program)是可選的。如果你不提供,那麼將自動生成一個名稱為 a.out 的對象文件。但是這樣並不好,因為編譯每個 C 程序都會覆蓋它,而且你也不知道這個 a.out 對象文件究竟屬於哪個程序。

在你的對象文件生成後,運行它來運行 C 程序。它已經能夠執行了。像這樣簡單地使用它:

./my_program

接下來,如果你的程序是正確的,它將顯示出你所期望的輸出。正如你所看到的,這和 在 Linux 中運行 C++ 程序 沒什麼不同。

每更改一次你的程序,你都必須先重新編譯它,然後再次運行生成的對象文件來運行這個新的 C 程序。

方法 2: 如何在 Linux 中使用一個諸如 VSCode 之類的代碼編輯器來運行 C 程序

並不是每一個人都能適應命令行和終端,我完全理解這一點。

你可以使用一個諸如 Eclipse 或 Code Blocks 之類的真正的 C/C++ IDE ,但是它們是很重量級的程序,通常更適合於大型的項目。

我建議使用一個開源的代碼編輯器,像 VSCode 或 Atom 。它們基本上是文本編輯器,但是你可以通過安裝附加組件來直接在圖形化的代碼編輯器中編譯和運行程序。

在這個示例中,我使用 VSCode 編輯器。它是一個來自微軟的 非常流行的開源的代碼編輯器

首先,在 Ubuntu 的 軟體中心中安裝 VSCode 。對於其它發行版來說,請檢查你的 Linux 發行版的軟體包管理器或軟體中心。你可以參看它的官方網站來查看更多的信息。

啟動 VSCode ,打開或創建一個工程,在這裡創建你的 C 程序。我使用一個簡單的 Hello World 程序作為示例。

你必須確保你已經在你的 Linux 系統上安裝了 gcc 編譯器。

sudo apt install gcc

接下來你要做的事是使用一個允許你運行 C 代碼的擴展。微軟可能會提示你安裝它的 C/C++ 程序擴展,但它的設置很複雜,因此我不推薦。

相反,我建議你使用 Code Runner 擴展。它是一個簡單直接的擴展,你可以在不使用額外配置的情況下輕鬆地運行 C 和 C++ 代碼。

轉到擴展標籤頁,在其中搜索和安裝 「Code Runner」 。

安裝 Code Runner 擴展來運行 C/C++ 程序

重新啟動 VSCode 。現在,你能夠使用下面方法中的其中一個來運行 C 代碼:

  • 使用快捷鍵 Ctrl+Alt+N
  • 按下 F1 ,接下來選擇或輸入 「Run Code」 。
  • 在文本編輯器中右鍵單擊,從上下文菜單中單擊 「Run code」 。

右鍵單擊程序文件,然後選擇 Run Code

當你運行這個 C 程序時,它將會被自動編譯和運行。你可以在編輯器底部打開的終端中看到輸出。還有比這更好的事情嗎?

程序輸出顯示在編輯器的底部

你更喜歡哪一種方法?

在 Linux 命令行中運行一些 C 程序是沒有問題的,但是使用一個代碼編輯器會更容易一些,而且會節省時間。你不覺得嗎?

你可以自己決定想使用哪一種方法。

via: https://itsfoss.com/run-c-program-linux/

作者:Abhishek Prakash 選題:lujun9972 譯者:robsean 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國