Linux學習筆記(7)——gcc使用與開發(1)

一、GCC與gcc介紹

1.GCC是由GNU之父Stallman所開發的Linux下的編輯器,GCC最初的全名是CNU project C and C++,之後隨着GCC支持的語言越來越多,其全稱變爲 CNU Compiler Collection即GNU編譯器集合。目前可以編譯的語言包括:C,C++,Objective-C,Fortran,Java,and Ada

2.gcc是GCC編譯器集合下的c編譯器。(g++則是c++編譯器)gcc編譯器主要用於編譯C和C++程序,編譯C++程序時常使用g++命令,實際上是gcc連接了libstdc++庫。當前主要了解gcc的使用。

二、gcc的使用

1.使用環境

使用gcc要在Linux環境下,可以使用真正的Linux系統,或者使用一些Windows下的虛擬軟件(基礎學習階段推薦),可以使用虛擬機搭建的Linux環境。(目前我所使用的是CentOS 6.5)

2.gcc與g++的安裝

安裝之前可以使用 gcc -v 命令查詢系統GCC版本。(以此查看之前是否有安裝過)

CentOs 6.5 中gcc與g++的安裝:

注意安裝時要是以root用戶來執行命令。

安裝gcc:yum install gcc

安裝g++:yum install gcc-c++

安裝過後再次查看安裝情況:

3.文件命名規則

 在Linux下生成的可執行文件沒有固定的擴展名。任何符合Linux要求的文件名,只要文件的訪問屬性中有可執行的屬性,該文件就是可以執行的。所以可執行文件沒有同意後綴沒有統一後綴,系統通過文件屬性來區分可執行文件和不可執行文件。而gcc則通過後綴來區分輸入文件的類別,下面介紹gcc所遵循的部分約定規則。

  •   以.c爲後綴的文件,C語言源代碼文件;
  •   以.a爲後綴的文件,是由目標文件構成的庫文件;
  •   以.C,.cc或.cxx爲後綴的文件,是C++源碼文件;
  •   以.h爲後綴的文件,是程序所包含的頭文件;
  •   以.i爲後綴的文件,是是已經與處理過的C源代碼文件;
  •   以.m爲後綴的文件,是Objective-C源代碼文件;
  •   以.o爲後綴的文件,是編譯後的目標文件;
  •   以.s爲後綴的文件,是彙編語言源代碼文件;
  •   以.S爲後綴的文件,是經過預編譯的彙編語言源代碼文件。

4.編譯過程

Gcc編譯器在編譯時,都需要用四個步驟裏的一個或多個處理輸入文件,這四個步驟是:預處理(Pre-Processing)、編譯(Compilation)、彙編(Assembly)、連接(Linking)。在這個過程中,源文件的後綴名控制着編譯器的缺省設定,這個後綴指示出了程序代碼所用語言。

5.gcc的使用

命令格式:gcc [選項] [要處理的文件列表] [-o 目標文件]

其中被[],引出來的三部分,順序可以變換,除了要處理文件列表是必須要有的,其它可以不寫。下面通過一個簡單的例子,說明gcc的使用方法。

步驟:

(1)編寫一個簡單的C語言程序hello.c

  # vi/vim hello.c

代碼內容

(2)編譯hello.c文件,生成可執行文件

    # gcc hello.c

   

(3)執行文件,在默認情況下產生的可執行程序名爲:a.out

    # ./a.out

執行結果

(4)通常可以通過gcc的”-o” 選擇來指定自己的執行程序名稱

    # gcc -o name hello.c

    生成可執行文件 name 執行

    # ./name

   

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章