使用vim在Linux下編寫C語言程式

來源:互聯網
上載者:User

1.進入字元介面

2.建立檔案夾用於存放源檔案

mkdir helloworld    //建立檔案夾命令

cd helloworld        //進入建立的檔案夾,這裡應該說目錄比較好,windows用習慣了

vim main.c        //開啟vim並建立main.c檔案

      //按 i 鍵進入編輯狀態,以下是程式

 #include
          int main()

           {

                printf("Hello world!/n");

                return 0;

           }

按Esc進入命令模式,按 ZZ 儲存退出

gcc main.c           //編譯

./a.out                   //運行,預設情況產生a.out可執行檔
 如何在GCC++中編譯一個C++程式並運行 收藏
GCC   能夠編譯三種語言:C、C++   和   Object   C(C   語言的一種物件導向擴充)。利用   gcc   命令可同時編譯並串連   C   和   C++   來源程式。 

  #DEMO#:   hello.c 
  
  如果你有兩個或少數幾個   C   源檔案,也可以方便地利用   GCC   編譯、串連並產生可執行檔。例如,假設你有兩個源檔案   main.c   和   factorial.c   兩個源檔案,現在要編譯產生一個計算階乘的程式。 

  
  ----------------------- 
  清單   factorial.c 
  ----------------------- 
  #include   <stdio.h> 
  #include   <stdlib.h> 
  
  int   factorial   (int   n) 
  { 
          if   (n   <=   1) 
                  return   1; 
  
          else 
                  return   factorial   (n   -   1)   *   n; 
  } 
  ----------------------- 
  
  ----------------------- 
  清單     main.c 
  ----------------------- 
  #include   <stdio.h> 
  #include   <stdlib.h> 
  
  int   factorial   (int   n); 
  
  int   main   (int   argc,   char   **argv) 
  { 
          int   n; 
  
          if   (argc   <   2)   { 
                  printf   ("Usage:   %s   n/n",   argv   [0]); 
                  return   -1; 
          } 
          else   { 
                  n   =   atoi   (argv[1]); 
                  printf   ("Factorial   of   %d   is   %d./n",   n,   factorial   (n)); 

          } 
  
          return   0; 
  } 
  ----------------------- 
  
  利用如下的命令可編譯產生可執行檔,並執行程式: 
  $   gcc   -o   factorial   main.c   factorial.c 
  $   ./factorial   5 
  Factorial   of   5   is   120. 
  
  GCC   可同時用來編譯   C   程式和   C++   程式。一般來說,C   編譯器通過源檔案的尾碼名來判斷是   C   程式還是   C++   程式。在   Linux   中,C   源檔案的尾碼名為   .c,而   C++   源檔案的尾碼名為   .C   或   .cpp。 

  
  但是,gcc   命令只能編譯   C++   源檔案,而不能自動和   C++   程式使用的庫串連。因此,通常使用   g++   命令來完成   C++   程式的編譯和串連,該程式會自動調用   gcc   實現編譯。假設我們有一個如下的   C++   源檔案(hello.C): 

  
  #include   <iostream.h> 
  
  void   main   (void) 
  { 
          cout   <<   "Hello,   world!"   <<   endl; 
  } 
  
  則可以如下調用   g++   命令編譯、串連並產生可執行檔: 
  
  $   g++   -o   hello   hello.C 
  $   ./hello 
  Hello,   world! 
  
  1.7.2     gcc/egcs   的主要選項 
                                  表   1-3     gcc   命令的常用選項 
  選項                                 解釋 
  -ansi                               只支援   ANSI   標準的   C   文法。這一選項將禁止   GNU   C   的某些特色, 

                                          例如   asm   或   typeof   關鍵詞。 
  -c                                     只編譯並產生目標檔案。 
  -DMACRO                           以字串“1”定義   MACRO   宏。 
  -DMACRO=DEFN                 以字串“DEFN”定義   MACRO   宏。 
  -E                                     只運行   C   先行編譯器。 
  -g                                     產生調試資訊。GNU   調試器可利用該資訊。 
  -IDIRECTORY                   指定額外的標頭檔搜尋路徑DIRECTORY。 
  -LDIRECTORY                   指定額外的函數庫搜尋路徑DIRECTORY。 
  -lLIBRARY                       串連時搜尋指定的函數庫LIBRARY。 
  -m486                               針對   486   進行代碼最佳化。 
  -o   FILE                           產生指定的輸出檔案。用在產生可執行檔時。 
  -O0                                   不進行最佳化處理。 
  -O   或   -O1                       最佳化產生代碼。 
  -O2                                   進一步最佳化。 
  -O3                                   比   -O2   更進一步最佳化,包括   inline   函數。 
  -shared                           產生共用目標檔案。通常用在建立共用庫時。 
  -static                           禁止使用共用串連。 
  -UMACRO                           取消對   MACRO   宏的定義。 
  -w                                     不產生任何警告資訊。 
  -Wall                               產生所有警告資訊。 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.