一、gcc gcc是Linux上面最標準的C語言的編譯程式,用來源代碼的編譯鏈接。 gcc -c hello.c 編譯產生目標文件hello.o gcc -O hello.c 編譯產生目標文件,併進行優化 gcc -o hello hello.c 生成hello這個可執行的二進位文件 缺點:命令的冗 ...
一、gcc
gcc是Linux上面最標準的C語言的編譯程式,用來源代碼的編譯鏈接。
gcc -c hello.c 編譯產生目標文件hello.o gcc -O hello.c 編譯產生目標文件,併進行優化 gcc -o hello hello.c 生成hello這個可執行的二進位文件 缺點:命令的冗餘性,如果 C 語言程式中包含對其他函數或者程式的引用,那麼其他程式也要編譯成目標文件,然後一起編譯成可執行文件,才能運行成功。一個大的程式引用是非常多的,所以用gcc來編譯,顯得很冗餘。 二、make 用make進行巨集編譯,make的功能是簡化編譯過程中所下達的指令,如果編譯完成之後,修改了某個原始碼文件,則make只會去更新這個文件,其他的文件不會被改動。要使用make命令,是因為事先編寫 好的 makefile 這個文件。然後make命令安裝這個文件編譯鏈接,大大簡化了編譯的步驟。 makefile的基本語法(老實說,有點像Java的ant):makefile變數的基本語法:
- 變數和變數內容之間以=隔開,同時兩邊可以具有空格
- 變數左邊不可以有tab
- 變數和變數的內容在=兩邊不能具有:
- 在習慣上變數最好以 大寫字母 為主
- 運用變數時 以${變數} 或 $(變數)使用
- shell的環境變數是可以被套用的,例如提到的CFLAGS這個變數
- 在指令模式中也可以給予變數
列出目前系統上面所有可能被更改過的文件:rpm -Va
重建rpm資料庫: rpm --rebuilddb
五、yum yum是目前Linux最方便的軟體管理工具,它比起rpm來可以自動處理軟體的相依屬性問題,以解決軟體的安裝、卸載、升級的問題. yum查詢的功能:列出目前伺服器上可供本機進行升級的軟體有哪些: yum list updates
安裝軟體:yum install 軟體名稱
升級軟體:yum update 軟體名稱
卸載軟體:yum remove 軟體名稱
修改yum的源和配置文件: vim /etc/yum.repos.d/CentOS-Base.repo
刪除所有軟體庫的相關數據:yum clean all
將已下載的軟體文件刪除:yum clean packages
將下載的軟體文件頭刪除:yum clean headers
yum的軟體群組的功能:
備註:軟體群組的安裝預設是不安裝 optional 軟體的,如果,想要安裝的話需要修改配置文件 vim /etc/yum.conf ,在文件中新增一行 group_package_types=default,mandatory,optional
全系統自動升級所需要升級的軟體:yum -y update