首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

Linux 環境下 C 語言開發入門:從原始碼到執行檔完整流程

     編輯:關於C語言

為什麼選 Linux 學 C?

  • GCC/Clang 編譯器標準支援度最高
  • 終端機、腳本、管線、重導向等工具鏈極其強大
  • 系統呼叫、程序、執行緒、網路程式設計原生支援
  • 開源專案多數以 Linux 為首選開發平台

完整實操流程

1. 編寫原始碼

$ vi hello.c

輸入:

#include <stdio.h>
int main(void) {
    printf("Hello, Linux C World!\n");
    return 0;
}

按 Esc → :wq 存檔離開。

2. 編譯

$ gcc hello.c -o hello
  • gcc:GNU Compiler Collection
  • -o hello:指定輸出執行檔名稱 (預設 a.out)

3. 執行

$ ./hello
Hello, Linux C World!

4. 遇到編譯錯誤怎麼辦?

故意移除分號:

$ gcc hello.c -o hello
hello.c: In function 'main':
hello.c:3:5: error: expected ';' before 'return'
    return 0;
    ^~~~~~

編譯器會精確指出**檔案、行號、錯誤類型**,照著修正即可。

進階範例:輾轉相除法求最大公約數

#include <stdio.h>
#include <stdlib.h>

int gcd(int a, int b) {
    while (b) { int t = a % b; a = b; b = t; }
    return a;
}

int main(void) {
    int m, n;
    printf("輸入兩個正整數: ");
    if (scanf("%d %d", &m, &n) != 2) return 1;
    printf("GCD(%d, %d) = %d\n", m, n, gcd(m, n));
    return 0;
}
$ gcc gcd.c -o gcd
$ ./gcd
輸入兩個正整數: 48 18
GCD(48, 18) = 6

常用 GCC 參數速查

下一步學習建議

  1. 熟悉 vim/nano/VS Code 編輯器
  2. 學習 Makefile 自動化建構
  3. 使用 gdb 除錯:gcc -g -o prog prog.c && gdb ./prog
  4. 閱讀 man 手冊:man 3 printf, man 2 open
  5. 探索 /usr/include 系統標頭檔
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
參數用途
-Wall -Wextra開啟絕大多數警告 (強烈建議常開)
-std=c11指定 C 標準 (c90/c99/c11/c17/c2x)
-g產生除錯資訊 (供 GDB 使用)
-O2優化等級 2 (發布版常用)
-c僅編譯不連結,產生 .o 目標檔
-I/path加入標頭檔搜尋路徑
-L/path -lname加入程式庫搜尋路徑與連結