3.1多文件(头文件、源文件、)的结构的编程
.h 头文件主要存放结构体的定义,函数的声明等等
.c 源文件主要存放变量、函数的定义等等
.a 静态库文件主要对功能代码的打包
.so 共享库文件主要对功能代码的打包
3.2头文件中的详细内容
第一部分内容、头文件的卫士
#ifndef xxx_H
#defin xxx_H
#endif
第二部分内容、包含其他的头文件
#include<stdio.h>
#include<stdlib.h>
第三部分内容、宏定义
#define PI 3.1415926
第四部分内容、数据类型的定义,给类型起别名
typedef struct Node
{
int data;
struct Node* next;
}Node;
第五部分内容、变量/函数的声明
extern/*外部的*/ int num;
void show (void);
例如:vim circle.h//计算圆的面积
#ifdef CIRCLE_H //头文件的卫士
#define CIRCLE_H
#include<stdio.h>//包含其他头文件
#define PI 3.14//宏定义
double circle_area (double r);//声明计算圆形面积的函数
#endif
------------------
gcc -c circle.h
删除*.gch文件
cp circle.h circle.c
vim circle.c
#include"circle.h"
double circle_area(double r)定义计算圆形面积的函数
{
return PI*r*r;
}
gcc -c circle.c
删除*.o 文件
vim main.c
#include"circle.h"
int main ()
{
printf("圆形面积是:%lf\n",circle_area(5));
}
gcc *.c
------------------------------------------------------------------------------------
主要;变量/函数的定义不要放在头文件中,避免出现变量/函数的重定义的错误