使用math.h中的函数要在编译的时候在末尾加 -lm 这样不会报错
不然会出现下面的问题
自己写头文件用在程序中的时候,如果.h和.c在同一文件夹的时候,并不需要其他操作,直接编译就行
例如下面的代码,uint 和num是自己在demo_02.h中定义的,代码是下面那个
#include<stdio.h>
#include"demo_02.h"
int main()
{
uint a;
a=num;
printf("%d\n",num);
return 0;
}
#define uint unsigned int
#define num 100
这个文件的输出结果是,以及文件如下(demo_01.c是之前写的,和这个没关系)
这么一来还有一个问题,如果我要访问其他的库文件怎么办呢,比如说上面的程序中的demo_02.c和demo_02.h不在同一个文件夹里面想要实现用这个这么弄。
这个时候如果要编译.c 文件时会报错,显示没有这个文件或目录
可以使用 -I 来指定头文件的所在的位置,-I 后面是头文件位置
例如:
如果说添加的多个头文件在不同的文件夹,也可以用这个方法。不过要注意 -I 后面只能跟一个路径名,想要手动指定几个头文件搜索路径,就得写几个 -I。
就像
gcc demo.c -o demo -I ~/桌面/project1/api1 -I ~/桌面/project2/api2