Linux下C開發環境的構成和安裝(轉)
本文介紹了Linux的C開發環境的構成和安裝,使讀者對Linux的C開發環境能有初步的瞭解。
你瞭解Linux嗎?相信現在越來越多的人會說“是”的。那麼你瞭解到何種程度呢?不可否認,目前決大多數的Linux使用者對Linux的瞭解還處於比較低階的層次,他們可能會幾條命令、會配幾種服務、會用rpm來安裝軟體、會操作KDE/Gnome界機等等,但是當他們遇到一些需要編譯安裝的軟體時,面對一些簡單的出錯資訊,他們 就手足無措了。要想真正跨躍這些初級層次,你就不可能不去了解一些底層的東西,比如本文要講到的Linux下的C開發環境以及本文之外的其它作業系統知識。
Linux和C天生有不解之源,大家可能知道Linux的作業系統核心就主要是用C寫的,另外Linux下的很多軟體也是用C寫的,特別是一些著名的服務軟體,比如MySQL、Apache等。初學者可能在編譯MySQL這樣的軟體時,遇到過各式各樣的錯誤,其實只要你初步瞭解了Linux的C開發環境,你就能自選解決安裝過程中的一些錯誤。
Linux的C開發環境與Windows的有所不同,在Linux下,一個完整的C開發環境包括以下三個組成:
1、函式庫: glibc
要構架一個完整的C開發環境,Glibc是必不可少的,它是Linux下C的主要函式庫。Glibc有兩種安裝方式:
A.安裝成測試用的函式庫
在編譯程式時用不同的選項來試用新的函式庫
B.安裝成主要的C函式庫
所有新編譯程式均用的函式庫
Glibc2含幾個附加包:LinuxThreads、locale和crypt,通常它們的檔名隨版本不同而類似於下列檔名:
glibc-2.06.tar.gz
glibc-linuxthreads-2.0.6.tar.gz
glibc-localedate-2.0.6.tar.gz
glibc-crypt-2.0.6.tar.gz
2、編譯器:gcc
gcc(GNU CCompiler)是GNU推出的功能強大、效能優越的多平臺編譯器,gcc編譯器能將C、C++語言源程式、匯程式化序和目標程式編譯、連線成可執行檔案,以下是gcc支援編譯的一些原始檔的字尾及其解釋:
.c為字尾的檔案,C語言原始碼檔案;
.a為字尾的檔案,是由目標檔案構成的檔案庫檔案;
.C,.cc或.cxx 為字尾的檔案,是C++原始碼檔案;
.h為字尾的檔案,是程式所包含的標頭檔案;
.i 為字尾的檔案,是已經預處理過的C原始碼檔案;
.ii為字尾的檔案,是已經預處理過的C++原始碼檔案;
.m為字尾的檔案,是Objective-C原始碼檔案;
.o為字尾的檔案,是編譯後的目標檔案;
.s為字尾的檔案,是組合語言原始碼檔案;
.S為字尾的檔案,是經過預編譯的組合語言原始碼檔案。
3、系統標頭檔案:glibc_header
缺少了系統標頭檔案的話,很多用到系統功能的C程式將無法編譯。
假如使用者在安裝過程中少裝了這些包,就會無法編譯C源程式。初學者有時候選擇自己定製軟體包來安裝,結果遺漏了這些包,導致無法編譯源程式,不少人就只好重新安裝一遍Linux。其實並不需要這樣做,雖然從tar包來安裝Linux的C開發環境對於初學者來說比較難,但是我們還是可以透過rpm包來迅速安裝Linux的C開發環境的。下面以Red Hat 7.3為例,介紹如何安裝Linux的C開發環境,如果是更高版本的Red Hat也可以參考,只是要注意軟體版本的不同。
由於gcc包需要依賴binutils和cpp包,另外make包也是在編譯中常用的,所以一共需要8個包來完成安裝,它們是:
cpp-2.96-110.i386.rpm
binutils-2.11.93.0.2-11.i386.rpm
glibc-2.2.5-34.i386.rpm
glibc-kernheaders-2.4-7.14.i386.rpm
glibc-common-2.2.5-34
glibc-devel-2.2.5-34.i386.rpm
gcc-2.96-110.i386.rpm
make-3.79.1-8.i386.rpm
如果連在internet上的話,可以直接從internet上安裝,命令依次如下:
rpm -ivh
ftp://216.254.0.38/linux/redhat/7.3/en/os/i386/RedHat/RPMS/cpp-2.96-110.i386.rpm
rpm -ivh
ftp://216.254.0.38/linux/redhat/7.3/en/os/i386/RedHat/RPMS/binutils-2.11.93.0.2-11.i386.rpm
rpm -ivh
ftp://216.254.0.38/linux/redhat/7.3/en/os/i386/RedHat/RPMS/glibc-kernheaders-2.4-7.14.i386.rpm
rpm -ivh
ftp://216.254.0.38/linux/redhat/7.3/en/os/i386/RedHat/RPMS/glibc-2.2.5-34.i386.rpm
rpm -ivh
ftp://216.254.0.38/linux/redhat/7.3/en/os/i386/RedHat/RPMS/glibc-devel-2.2.5-34.i386.rpm
rpm -ivh
ftp://216.254.0.38/linux/redhat/7.3/en/os/i386/RedHat/RPMS/glibc-common-2.2.5-34.i386.rpm
rpm -ivh
ftp://216.254.0.38/linux/redhat/7.3/en/os/i386/RedHat/RPMS/gcc-2.96-110.i386.rpm
rpm -ivh
ftp://216.254.0.38/linux/redhat/7.3/en/os/i386/RedHat/RPMS/make-3.79.1-8.i386.rpm
如果不是連在internet上的話,就要下載下來安裝了。安裝完後,就構成了最基本的C開發環境,在這個C開發環境中,可以編譯多數的C寫的應用程式。而對於一個C程式來說,安裝完成後通常可以分成三個組成:
1.可執行檔案
2.包含檔案
3.庫檔案
可執行檔案就是最終執行的命令,包含檔案是該C程式include的一些定義檔案,庫檔案則是該C程式自定義的庫。比如對於用RPM安裝的MySQL:可執行檔案放在/usr/bin下,包含檔案放在/usr/include/mysql下,庫檔案在/usr/lib/mysql下。只有系統可以找到程式對應的包含檔案和庫檔案,程式可執行檔案才能正常執行。
瞭解了Linux的C開發環境的構成和安裝,還是不夠的,還需要對其深入研究和學習,才能夠做到“知其然,知其所以然”。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-940212/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux 開發環境 -- C/C++開發環境編譯安裝Linux開發環境C++編譯
- linux 開發離線環境下載及安裝Linux
- Java開發環境的安裝和配置Java開發環境
- 開發環境搭建之一,Clion的下載和安裝開發環境
- Linux環境下nodejs和cnpm的安裝LinuxNodeJSNPM
- linux下CUDA開發環境構建Linux開發環境
- Mac下安裝Phonegap開發環境Mac開發環境
- Linux下安裝Go環境LinuxGo
- Windows環境下安裝LinuxWindowsLinux
- linux環境下redis安裝LinuxRedis
- Linux環境下安裝NginxLinuxNginx
- LINUX環境下安裝TIPTOPLinux
- Linux下Java環境安裝LinuxJava
- Python 開發環境搭建(03):Linux 下 eclipse 安裝Python開發環境LinuxEclipse
- Win10下安裝Go開發環境Win10Go開發環境
- Ubuntu下安裝配置java開發環境啊UbuntuJava開發環境
- Flutter開發環境安裝Flutter開發環境
- node開發環境安裝開發環境
- 安裝OpenResty開發環境REST開發環境
- 安裝Java開發環境Java開發環境
- linux或者CentOS環境下安裝.NET Core環境LinuxCentOS
- Linux環境下nginx安裝配置LinuxNginx
- Linux環境下ApacheActiveMQ基本安裝LinuxApacheMQ
- 在linux環境下安裝MysqlLinuxMySql
- 在Linux環境下安裝JBOSSLinux
- Linux環境下 RabbitMQ 的下載與安裝LinuxMQ
- Windows 下使用 Vagrant 構建 Linux 開發環境WindowsLinux開發環境
- Flutter搭建開發環境和工具安裝配置Flutter開發環境
- 在linux,windows上安裝rubyonrails開發環境LinuxWindowsAI開發環境
- Ubuntu下搭建JAVA開發環境及解除安裝UbuntuJava開發環境
- yapi 在linux環境下的安裝部署APILinux
- linux下使用vscode和makefile搭建C++開發環境LinuxVSCodeC++開發環境
- ubuntu 安裝 flutter 開發環境UbuntuFlutter開發環境
- JHipster開發環境安裝開發環境
- ubuntu安裝Java開發環境UbuntuJava開發環境
- Linux 下使用 Docker 安裝lnmp環境LinuxDockerLNMP
- linux環境下安裝nginx步驟LinuxNginx
- Linux 環境下編譯安裝 RedisLinux編譯Redis