如何自定义引入.h头文件?
.h头文件理解
个人理解,仅参考
-
.h
头文件是定义方法名称,告诉外界有这个方法, 能够通过编译器编译 -
.h
头文件就是为了让其他文件调用这个文件里面的方法
Hello World
分别创建两个文件:
-
新建
.c
文件,例:hello.c
-
新建
.h
文件,例:hello.h
.h文件
- 条件指示符
#ifndef
的最主要目的是防止
头文件的重复包含和编译 - 这样写是有好处的, 能解决如果同一个工程里面有多个hello.h就不会出现重定义的错误了,类似命名空间。
#ifndef _HELLO_H // 一般是文件名的大写
#define _HELLO_H
// 引入stdio.h文件
#include <stdio.h>
#endif /* _HELLO_H */
.c文件
#include "hello.h"
int main ()
{
printf("hello .h\n");
return 0;
}
执行编译
输入: gcc hello.c
编译成功,执行:执行可执行文件
小结
-
.h
头文件就是为了让其他文件调用这个文件里面的方法。 -
.c
文件就是方法的具体实现. 如果.h
里面有一个方法,.c
没实现, 编译会报错。【在ios工程中
,可以通过编译, 但是运行就报错】 -
你也可以打包成
静态库
,.a
文件, 然后暴露出.h
头文件, 这样就是让别人可以引如头文件, 调用你的方法, 但是别人不知道你怎么实现的方法。 -
静态库
, 就是编译过得, 无法反编译。
初体验
- 定义多个
.h
头文件,定义方法.c
文件调用, 并编译。 - 可直接体验已编译好的
exe
文件