C语言自定义头文件

时间:2022-03-20 01:40:38
1.首先我们写一个简单的C源程序;

#include<stdio.h>
#include<math.h>
void main()
{
int a,b;
b=9;
printf("The result is %d!",sqrt(b));
}

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