概述
Linux 是一組開源的類 UNIX 操作系統(tǒng),Ubuntu 是一種基于 Linux 的操作系統(tǒng),通常用于運行基于 Linux 的應(yīng)用程序。要在 Linux 上安裝 C 并在 Ubuntu 上構(gòu)建和運行 C 程序文件,我們需要安裝 GCC 編譯器。在 Ubuntu 存儲庫中,GCC 編譯器是我們需要安裝的構(gòu)建基本包的一部分。
我們知道在 Linux 上安裝 C 語言可能看起來令人生畏,但不要擔(dān)心;我們已經(jīng)為您提供了分步指南!
在 Linux 中使用終端安裝 GCC 編譯器
GCC編譯器(GNU編譯器集合)是用C,C++,Ada,GO,D,F(xiàn)ortran和Objective-C編程語言編寫的程序的編譯器和庫的集合,它是在GNU通用公共許可證下分發(fā)的。我們將使用 Linux 終端安裝 GCC 編譯器,以在 Linux 上安裝 C。
GCC 編譯器以及構(gòu)建應(yīng)用程序所需的其他幾個庫和實用程序可以在默認(rèn)的 Ubuntu 存儲庫(Ubuntu?是基于 Linux 的操作系統(tǒng))的?build-essential?元包下找到。
什么是構(gòu)建必備包?
Ubuntu 上的這個構(gòu)建必不可少的元包帶有五個單獨的包,這些包在軟件編譯過程中需要,它包含將用于構(gòu)建和運行 C 程序的 GCC 編譯器。下面列出了這五個軟件包:
- gcc:GNU 編譯器集合(GCC Compiler)用于編譯用 C 語言編寫的程序。
- g++:GNU C++編譯器用于編譯用C++語言編寫的程序。
- libc6-dev:這是 GNU 庫文件包。編譯簡單 C 和 C++ 程序所需的開發(fā)庫和頭文件都包含在此包中。
- make:這是一個方便的工具,用于控制程序的編譯。該工具讀取一個名為“makefile”的文件,該文件告訴編譯器如何完成其工作。
- dpkg-dev:這個軟件包可以用來解壓、編譯和上傳 Debian 源碼包。如果你想為一個基于Debian的系統(tǒng)打包你的程序,這個工具會派上用場。
因此,我們必須執(zhí)行以下步驟才能在我們的 Linux 操作系統(tǒng)中安裝?build-essential?軟件包:
首先,我們必須打開終端;我們可以使用快捷鍵 Ctrl +?Alt + T,也可以通過在菜單中搜索來手動打開它(???圖標(biāo))。
1.?首先,使用以下命令更新軟件包列表:
$ sudo apt update
Linux 中的?apt?命令負(fù)責(zé)在我們的系統(tǒng)上安裝、卸載和更新應(yīng)用程序。將您的計算機視為工廠,將 apt 命令視為工廠經(jīng)理,負(fù)責(zé)管理新設(shè)備的安裝、移除過時的設(shè)備以及將所需設(shè)備更新到最新版本,同時跟蹤當(dāng)前正在使用的設(shè)備名稱和版本。因此,sudo apt update?命令用于更新軟件版本的跟蹤,以幫助在系統(tǒng)中安裝最新的可用軟件版本。
注意:
sudo(超級用戶?DO)允許用戶以超級用戶或其他用戶的身份運行命令,具體取決于安全策略。因此,如果需要,請輸入您的系統(tǒng)密碼以繼續(xù)。
輸出:
scaler@scaler-topics:~$ sudo apt update
[sudo] password for scaler:
Hit:1 http://in.archive.ubuntu.com/ubuntu focal InRelease
Get:2 http://in.archive.ubuntu.com/ubuntu focal updates InRelease [114 kB]
Get:3 http://tn.archive.ubuntu.com/ubuntu focal backports InRelease [108 kB]
Get:4 http://security.ubuntu.com/ubuntu focal-securtty InRelease [114 kB]
Get:5 http://in.archive.ubuntu.com/ubuntu focal updates/main amd64 Packages [1, 468 kB]
Get:6 http://in.archive.ubuntu.com/ubuntu focal-updates/matn 1386 Packages [585 kB]
Get:7 http://in.archive.ubuntu.com/ubuntu focal-updates/main Translation-en [291 kB]
Get:8 http://in.archive.ubuntu.com/ubuntu focal updates/main amd64 DEP-11 Metadata [279 kB]
Get:9 http://in.archive.ubuntu.com/ubuntu focal-updates/main DEP-11 48x48 Icons [60.8 kB]
Get:10 http://in.archive.ubuntu.com/ubuntu focal-updates/main DEP-11 64x64 Icon s [98.3 kB]
Get:11 http://tn.archive.ubuntu.com/ubuntu focal-updates/main amd64 c-n-f Metad ata [14.7 kB]
Get:12 http://in.archive.ubuntu.com/ubuntu focal-updates/restricted amd64 Packa ges [694 kB]
Get:13 http://tn.archive.ubuntu.com/ubuntu focal-updates/restricted Translation -en [99.0 kB]
Get:14 http://tn.archive.ubuntu.com/ubuntu focal-updates/untverse 1386 Packages [663 kB]
Get:15 http://in.archive.ubuntu.com/ubuntu focal-updates/universe amd64 Package s [892 kB]
Get:16 http://tn.archive.ubuntu.com/ubuntu focal-updates/universe Translation-e n [196 kB]
...
2.?使用以下命令安裝軟件包?build-essential:
$ sudo apt install build-essential
如果需要,請輸入您的系統(tǒng)密碼以繼續(xù)。
輸出:
scaler@scaler-topics:~$ sudo apt install build-essential
[sudo] password for scaler:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
binutils binutils-common binutils-x86-64-linux-gnu dpkg-dev fakeroot g++ g++-9 gcc
gcc-9 libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl
libasan5 libatomic1 libbinutils libc-dev-bin libc6-dev libcrypt-dev libctf-nobfd0
libctf0 libfakeroot libgcc-9-dev libitm1 liblsan0 libquadmath0 libstdc++-9-dev
libtsan0 libubsan1 linux-libc-dev make manpages-dev
Suggested packages:
binutils-doc debian-keyring g++-multilib g++-9-multilib gcc-9-doc gcc-multilib
autoconf automake libtool flex bison gcc-doc gcc-9-multilib gcc-9-locales glibc-doc
libstdc++-9-doc make-doc
The following NEW packages will be installed:
binutils binutils-common binutils-x86-64-linux-gnu build-essential dpkg-dev
fakeroot g++ g++-9 gcc gcc-9 libalgorithm-diff-perl libalgorithm-diff-xs-perl
libalgorithm-merge-perl libasan5 libatomic1 libbinutils libc-dev-bin libc6-dev
libcrypt-dev libctf-nobfd0 libctf0 libfakeroot libgcc-9-dev libitm1 liblsan0
libquadmath0 libstdc++-9-dev libtsan0 libubsan1 linux-libc-dev make manpages-dev
0 upgraded, 32 newly installed, 0 to remove and 259 not upgraded.
Need to get 3518 kB/34.4 MB of archives.
After this operation, 157 MB of additional disk space will be used.
Do you want to continue? [Y/n]
按?Y?鍵,然后在屏幕上獲得與上述類似的輸出后按?Enter?鍵以繼續(xù)安裝過程。
完全安裝構(gòu)建必不可少的元包需要 3-5 分鐘。此過程將在 Linux 操作系統(tǒng)上安裝 C,我們可以使用 GCC 編譯器來編譯和運行我們的 C 程序。
祝賀!現(xiàn)在,您已經(jīng)在 Linux 中完成了?build-essential?軟件包和 GCC 編譯器 (C 語言) 的安裝。
注意:
在本教程中,?我們使用的是 Ubuntu 20.04 LTS 版本。此版本的 Ubuntu 帶有預(yù)裝的 GCC 編譯器版本,因此您可以先使用下一節(jié)中提到的命令檢查已安裝的編譯器版本。
適用于 Red Hat Linux / Fedora / CentOS
Red Hat Linux、Fedora 或 CentOS?中沒有?build-essentials?軟件包,但我們可以通過軟件開發(fā)所需的這些操作系統(tǒng)中的類似軟件包在 Linux 上安裝 C。因此,如果您使用的是基于 Red Hat Linux / Fedora / CentOS 的 Linux 操作系統(tǒng),那么您必須安裝開發(fā)工具包才能在您的系統(tǒng)中獲取?GCC 編譯器。
1.?首先以 root 用戶身份使用以下命令更新軟件包列表:
# yum update
2.?以 root 用戶身份使用以下命令安裝開發(fā)工具:
# yum groupinstall 'Development Tools'
或
$ sudo yum group install "Development Tools"
檢查已安裝的編譯器版本
現(xiàn)在你已經(jīng)安裝了build-essentials/Development Tools軟件包,你可以很容易地檢查/驗證你的GCC編譯器版本。在本節(jié)中,您將了解如何在 Linux 終端中使用以下命令檢查/驗證已安裝的 GCC 編譯器版本:
$ gcc --version
注意:
gcc?命令下的 --version?標(biāo)志兼容 Linux 中幾乎所有的終端開發(fā)軟件。
輸出:
scaler@scaler-topics:~$ gcc --version
gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
如果您在屏幕上看到類似于上面顯示的輸出,那么您就可以開始了。
注意:
如果輸出類似于下面的輸出,則在安裝過程中存在一些差異。重復(fù)上述步驟以再次安裝?build-essential?軟件包。
scaler@scaler-topics:~$ gcc --version
Command 'gcc' not found, but can be installed with:
sudo apt install gcc
創(chuàng)建 C 程序
在本節(jié)中,您將使用預(yù)安裝的文本編輯器在 Linux 上創(chuàng)建一個簡單的 C 程序。
有許多 Linux 終端命令可以創(chuàng)建新文件,例如使用?touch、>(重定向運算符)、cat、echo?命令或終端編輯器(如?vi、vim?或?nano)。在本教程中,我們在終端中使用?touch?命令來創(chuàng)建一個空的 C 程序文件。在創(chuàng)建新文件之前,您還可以將終端的目錄更改為系統(tǒng)中的任何所需位置。在本教程中,我們選擇了?Desktop?目錄。您可以使用?cd?Desktop(將目錄更改為 Desktop)命令切換到?Desktop?目錄,也可以選擇您選擇的任何目錄,只需在?cd?命令后傳遞目錄的位置地址即可。您必須確保 C 程序文件編譯在與 C 程序文件所在的目錄相同的目錄中。
讓我們看看它在 Ubuntu 20.04 操作系統(tǒng)中的實際效果。
步驟1:在終端中觸摸hello.c命令,在桌面目錄下創(chuàng)建一個空的hello.c?C程序文件。
步驟2:在 Linux 的內(nèi)置文本編輯器中打開?hello.c?文件(或者您可以使用您選擇的任何編輯器,如?Sublime Text?或?Visual Studio Code),然后在編輯器中鍵入?Hello World?C 程序,如下所示。
世界您好C語言程序
// C Program to print Hello, World! in the output
#include<stdio.h>
int main()
{
// printf function is used to print the string argument in the output window
printf("Hello, World!\n");
return 0;
}
輸出:
Hello, World!
祝賀!您現(xiàn)在距離在 Linux 操作系統(tǒng)下編譯 C 程序只有一步之遙。至此,您已經(jīng)通過終端創(chuàng)建了一個新文件?hello.c,并在內(nèi)置的文本編輯器中成功編寫了?Hello World?程序。
現(xiàn)在讓我們看看如何在 Linux 終端中編譯上面的 C 程序文件。
使用 GCC 編譯器編譯和執(zhí)行 C 程序
要編譯我們的 C 程序文件,我們可以在終端中使用以下命令(在?hello.c?文件所在的同一目錄中使用此命令):
$ gcc hello.c -o hello
上面的命令將生成一個帶有?hello?的可執(zhí)行文件,如命令中 -o?后給出的那樣。我們可以為可執(zhí)行文件命名任何名稱。我們不需要給出與 C 程序文件相同的名稱。
注意:
我們還必須確保在?hello.c?文件所在的同一目錄中使用上述命令。
現(xiàn)在要運行這個可執(zhí)行文件,我們只需要運行以下命令,C 程序的輸出將顯示在終端屏幕上。
$ ./hello
如果您編寫了與上一節(jié)中提到的相同的 C 程序,則此命令將在終端上給出?Hello, World!?輸出。
注意:
在存在?hello?可執(zhí)行文件的同一目錄中使用此命令。
讓我們看看它在 Ubuntu 20.04 操作系統(tǒng)中的實際效果。
步驟1:使用 gcc hello.c -o hello 命令編譯?hello.c?程序并生成?hello?可執(zhí)行文件。從圖中我們可以看出,在?Desktop?目錄中創(chuàng)建了一個?hello?文件。
步驟2:要運行可執(zhí)行文件,只需輸入?./hello?命令,輸出就會顯示在終端屏幕上,如下圖所示。
注意:
在存在?hello?可執(zhí)行文件的同一目錄中使用此命令。例如,我們在?Desktop?目錄下編譯和執(zhí)行我們的程序文件。
如果您編寫了與上一節(jié)中提到的相同的 C 程序,則此命令將在終端上給出?Hello, World!?輸出。
文章來源:http://www.zghlxwxcb.cn/news/detail-850374.html
恭喜:您已經(jīng)完成了Linux操作系統(tǒng)下C程序的編譯和運行過程。文章來源地址http://www.zghlxwxcb.cn/news/detail-850374.html
結(jié)論
- 我們學(xué)習(xí)了如何在 Linux 上安裝 C。
- 我們需要安裝?build-essential/Development Tools?軟件包才能在 Linux 上安裝 C 并獲取 GCC 編譯器。
- build-essential?元包自帶五個獨立的包,分別是?gcc、g++、libc6-dev、make?和?dpkg-dev。
- GCC 編譯器用于在 Linux 操作系統(tǒng)上編譯和運行?C 程序。
- 我們可以使用內(nèi)置文本編輯器或其他編輯器(如?Visual Studio Code?或?Sublime Text)來編寫我們的 C 程序。?
到了這里,關(guān)于如何在 Linux 上安裝 C 和 GCC 編譯器?的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!