C語言程序編譯和運行,看這一篇就夠了


概述

本篇主要講述如何在terminal終端命令行中進行C語言程序的編譯和運行。

1 編譯方法

1.1 首先,單文件的編譯和運行

// 編譯,gcc是編譯的命令,-o表示編譯后生成的可執行二進制文件
gcc cfile.c -o cfile
// 運行,很簡單
./cfile

1.2 如果一次性編譯多個文件,實際測試時是這么處理的:

// 編譯,可以在gcc后添加所有的要編譯的文件,比如多個c函數文件,c頭文件,最終編譯為一個可執行二進制文件
gcc cfile1.c cfile2.c chead.h -o cfile

// 運行,和單文件的運行一樣
./cfile

2 編譯時的坑

  1. 編譯報錯1
    /tmp/ccYwIyIb.o:在函數‘main’中:
    cfile1.c:(.text+0x37):對‘sqrtf’未定義的引用
    或者報錯:Undefined: _sqrt
    或者報錯:'sqrt': unresolved external

原因: 源碼中引入了 math.h 頭文件,但是編譯器鏈接器沒找到相應的數學庫。

解決方法: 在編譯時,使用 -lm 標記(flag) 顯式指示鏈接器搜索數學庫。
具體編譯命令為: gcc cfile1.c -o 16.15generic -lm


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM