格式如下:
#include <stdio.h>
或
#include "MyLib.h"
使用 #include时,使用引号与尖括号的意思是不一样的。局敬使用引号””时,首先搜索工程文件所在目录,然后再搜索编译器头文件所在目录。所以对于用户自定义头文件来说,通常使用双引号。
而使用尖括号<>时,刚好是相反的搜索顺序。所以对于编译系旁尺统提供的头文件来说,通常使用尖括号。
例:
假设我们有两个文件名一样的头文件 hardware.h ,但内容却是不一样的。一个保存在编译器指定的头文件目录下,我们把它叫做文件I ,另一个则保存在当前工程的目录下,我们把它叫做文件 II 。
如果我们使用的是# include <hardware.h>,则我们引用到的是文件 I。如桐启慎果我们使用的是#include “hardware.h”,则我们引用的将是文件 II 。
#include <stdio.h>#include <stdlib.h>
#include <string.h>
#include <math.h>
……
这些都是头文件,他们分别有着各自的作用。相当于一个函数库,而你写程序时,需要用到一些基本运算时,不用自己写了,直接引用这个模块渣宏,提高了效率。
他们都放置在本地计算机的编译软件的 编译文件夹下,可以用记事本打开,最好不要修改它。是一些基本轿誉定义(比如宏定义 #define N 8;意思是说,以后出现N时,就是指数字8),还有一些函数(比如数学函数)的基本编程。
上面讲的是普通c语言的头文件,而单片机的c语言,如帆册比如c51,头文件的作用类似。总体其的是一个映射的作用,把硬件的管脚和语言的对应。
521weina521 已经回答的很详细了,其中有关intrins头文件的详细说明,看链接:http://hi.baidu.com/%BF%DE%C6%FC%B5%C4%D6%ED11/blog/item/b7e7472d62fac3e58a139900.html
另外:对于51单片机,头文件为reg51.h,你用的应该是52单片机,故为 reg52.h
两者有本质的区别:1)单片机编程是针对单片机的编程 *** 作,常用的51、AVR、STM32等单片机都支持C语言,但是有很多ROM和RAM都很小的单片机一般只支持汇编语言。同时由于不同内核单片机的架构区别较大,厂家都会对标准C语言进行适当扩充,这样就导致不同内核单片机的C语言之间存在一些别,移植的时候就不仅仅是更改一下头文件那做唯桐么简单了。
2)C语言是一门特定的程序语言,它有一套严格的规范,不同编译器可以有不同的实现算法,但必须符合C语言的语法规则,如DEV-CPP、VC、GCC、TC这些比较流行的软件都提供了C语言的编纯坦译器。
3)学习单片机编程不一定要学习C语言,但必须学习单片机的系统组成,只有熟悉它的内部结构才能熟练地使用它,但由于C语言比较接近自然语言,比汇编语言易于理解,有利于程序编写和代山数码维护,然而由于编译器优化的程度不一样,有时候会占用额外的ROM和RAM,所以对于小容量单片机很多人更倾向于汇编语言。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)