目前很多嵌入式编程都不需要用户自己写头文件,如TMS320C6000系列的DSP用的就是一种CSL芯片支持库语言,就是一种在头文件里面定义好的些宏定义啊什么的,其实用户可以自己写头文件的 这样效率会更高,但可移植性和可读性和CSL相比差不少。这里简单的谈谈头文件的写法:
// 头文件_file.h
#ifndef FILE_H //FILE_H 可以随便写,只是一个标号是为了防止头文件重复定义
#define FILE_H //要和上面的这个一样,
void fun();
void fun1();
void fun2();
void fun3();
..........
..........
#endif //结束
以上这些写好了,保存为一个头文件file.h 或者其它文件名都行
---------------------------------------------------------------------
// 以下是上面的头文件里的函数定义
// file.c 源代码
#include <stdio.h>
#include "file.h" //包含你刚才保存的文件件,自已定的头文件用" "
void fun()
{
printf(" i love you c");
}
void fun1()
{
printf("hello c");
}
void fun2()
{
int i = 0;
printf("%d", i);
}
void fun3()
{
printf("bye.c");
}
这一部份是函数的定义,,不要保存为file.h,,这是源码,,保存为C的文件,如file.c
----------------------------------------------------------------------------
// 以下你可以在主函数中用到你自已写的头文件了,
// file_main.c
#include <stdio.h>
#include "file.h"
int main()
{
fun();
fun1();
fun2();
fun3();
printf("bye!");
return 0;
}
这个文件,同样保存为*.c.
然后在编译器中新建一个工程,,,把这三个文件添加到这个工程里面,,
再编译,,,,就实现了可以用自已定的头文件,进行多文件编译了,
#ifndef <标识>
#define <标识>
......
#endif
<标识>在理论上来说可以是自由命名的,但每个头文件的这个“标识”都应该是唯一的。标识的命名规则一般是头文件名全大写,前后加下划线,并把文件名中的“.”也变成下划线,
如:stdio.h
#ifndef _STDIO_H_
#define _STDIO_H_
文章评论(0条评论)
登录后参与讨论