C語言自定義標頭檔案

2021-08-15 20:19:29 字數 553 閱讀 4260

1.首先我們寫乙個簡單的c源程式;

#include

#include

void main()

2.編譯c檔案 gcc -o main main.c

編譯會出現錯誤,找不到sqrt該函式

3.需要執行以下命令來解決

gcc math.c -lm -o math

那麼-lm是什麼意思呢?-l是指定程式鏈結哪個靜態庫或者動態庫,-m表示的是數學庫,也就是使用math.h標頭檔案,就得鏈結數學庫進行編譯,-lm的意思就是告訴程式鏈結數學庫;

解決方法2:

gcc -c main.c

# -c引數的作用是讓gcc只編譯,不鏈結

gcc -c test.c

gcc -o main main.o test.o

# 將編譯好的目標**鏈結

方法3:

gcc -o main main.c test.c

方法4:

gcc main.c -o main -include foo.h foo.c

c 包含自定義標頭檔案

在c 中自定義的庫通過原始碼復用的方式在其他專案中使用,需要新增相應的標頭檔案,有以下幾種方式在其他專案中包含自定義的標頭檔案 將自定義庫的標頭檔案 h 與原始檔 cpp 複製到當前專案資料夾下,然後在專案距中使用 include headerfile.h 即可 缺點是每個新專案都要去複製標頭檔案與...

systemtap引用自定義標頭檔案的手藝精簡版

不夠精簡是不是?那是因為我的水平還不夠6,其實stap是可以直接呼叫system來執行外部命令的,如此就不需要再進入guru模式來stap自己了。指令碼如下 usr local bin stap selftap probe process usr local bin stap function ma...

c語言 自定義型別

struct stu 分號不能丟 匿名結構體型別 struct x struct a 20 p p x 非法的操作,上面倆種完全是不同的宣告 struct node 結構體的自引用 struct node n1 null 直接初始化 struct node n2 null 結構體巢狀初始化 先來看下...