標籤:串連 dea 檢查 軟體 無法 like pos 記錄 程式碼
Unix/Linux 軟體安裝首先我們明確。在Unix like的機器上,一套軟體並不唯獨一個程式,而是一堆程式碼檔案。
比如main.c,haha.c,sin_value.c這三個源碼檔案。1.程式原始碼1.1用gcc等編譯工具手動編譯#什麼是gcc工具?GNU的gcc工具是非常通用的C語言編譯器。gcc -c main.cgcc -c haha.cgcc -c sin_value.cgcc -c cos_value.c產生main.o,haha.o,sin_value.o,cos_value.o 4個經過編譯檔案。將幾個.o檔案進行串連。並增加libm數學函數,以產生main可運行檔案。gcc -o main main.o haha.o sin_value.o cos_value.o \-lm -L/usr/lib -L/lib#然後我們就能夠跑main這個可運行檔案了。[[email protected] fwy]$ ./mainPlease input your name: fengweiyuanPlease enter the degree angle (ex> 90): 110Hi, Dear fengweiyuan, nice to meet you.The Sin is: 0.94The Cos is: -0.341.2 用configure與make等工具編譯原始碼./configure檢測使用者環境,檢查該OS是否適合等。然後會產生makefile文字檔。
1.是否有適合的編譯器,能夠編譯本軟體的程式原始碼。
2.是否已經存在本軟體所需的函數庫或其它依賴軟體。
3.OS平台,包含核心版本號碼,是否適合本軟體。4.核心的頭定義檔案是否存在。
makefile其中記錄了原始碼怎樣編譯等資訊。這個步驟的相關資訊你能夠參考README與INSTALL等檔案。makeclean不一定須要。但運行一下比較安全。假設已經有上次編譯過的.o檔案存在,當然是清除一下比較好。這樣我們就可確定新編譯出來的運行檔案我們能夠確定是使用自己的機器所編譯完畢的。
make會在當前檔案夾下搜尋makefile這個文字檔,利用makefile來編譯原始碼,編譯成可運行檔案,放當前檔案夾下。(這個過程就如上面1.1的產生.o檔案,將.o檔案串連一起並加函數庫的工作)。make會自己主動推斷原始碼是否經過變動了而自己主動更新執行檔案。
make install假設makefile裡面有寫上關於install的選項。就會將上一步編譯完畢的檔案安裝到預設的檔案夾下。以完畢安裝。
這些步驟是一個一個來的,前面的沒有成功,後面的也無法運行。總結因為不同OS的函數庫路徑、或者函數庫檔案名稱定義,或者是預設安裝的編譯器。以及核心版本號碼不同。
理論上,不能將CentOS 5.x上編譯出來的二進位檔案(二進位運行檔案包括該OS上函
Unix/Linux 軟體安裝