51单片机,如何建立多C文件,
1个回答
展开全部
1. 模块化编程的原则:
模块化编程通常要遵循以下几个原则:
每一个c文件对应一个同名的h头文件
一个h文件伴随相应c文件存在,头文件是为了声明对外公开的接口。如果一个c文件不需要对外公布任何接口,则其就不应当存在,除非它是程序的入口,如main函数所在的文件,同时main函数所在文件可以没有对应的头文件。如有一个led.c,那应该同时制作一个led.h头文件。
头文件中适合放置接口的声明,不适合放置实现
头文件是模块的对外的接口,供外部程序调用。头文件中应放置对外部的声明,如对外提供的函数声明、宏定义、变量类型声明等。函数的实现、变量的赋值、语句的操作等决不能放在头文件中。因为头文件的功能是向外提供接口,譬如函数,变量,具体如何实现是在c文件中进行,头文件仅是进行了描述声明。
任意一个c文件只要使用了其他c文件提供的接口,都要同时包含其对应的头文件,每个c文件应该头文件自包含
任意一个c文件只要使用了其他c文件提供的接口,都要将其对应的头文件包含到该c文件中,没有使用到其他c文件的接口就不应该将其匹配的头文件包含,并且每个c文件都应该包含自己的头文件。
防止头文件被重复包含
避免一个头文件被重复包含,通常使用条件编译命令#ifndef--#endif,如下示例:
示例1:
#ifndef TIME_H
#define TIME_H
……
#endif
示例2:
#ifndef LED_H
#define LED_H
……
#endif
其中#define FILENAME_H为基本格式,FILENAME_H为头文件名称,但要全部使用大写形式,使用单下划线后紧跟一个H表明是头文件。不要在宏名最前面加上“_"或“__”,即使用FILENAME_H代替_FILENAME_H_,因为一般以"_"和”__"开头的标识符为系统保留或者标准库使用。
模块化编程通常要遵循以下几个原则:
每一个c文件对应一个同名的h头文件
一个h文件伴随相应c文件存在,头文件是为了声明对外公开的接口。如果一个c文件不需要对外公布任何接口,则其就不应当存在,除非它是程序的入口,如main函数所在的文件,同时main函数所在文件可以没有对应的头文件。如有一个led.c,那应该同时制作一个led.h头文件。
头文件中适合放置接口的声明,不适合放置实现
头文件是模块的对外的接口,供外部程序调用。头文件中应放置对外部的声明,如对外提供的函数声明、宏定义、变量类型声明等。函数的实现、变量的赋值、语句的操作等决不能放在头文件中。因为头文件的功能是向外提供接口,譬如函数,变量,具体如何实现是在c文件中进行,头文件仅是进行了描述声明。
任意一个c文件只要使用了其他c文件提供的接口,都要同时包含其对应的头文件,每个c文件应该头文件自包含
任意一个c文件只要使用了其他c文件提供的接口,都要将其对应的头文件包含到该c文件中,没有使用到其他c文件的接口就不应该将其匹配的头文件包含,并且每个c文件都应该包含自己的头文件。
防止头文件被重复包含
避免一个头文件被重复包含,通常使用条件编译命令#ifndef--#endif,如下示例:
示例1:
#ifndef TIME_H
#define TIME_H
……
#endif
示例2:
#ifndef LED_H
#define LED_H
……
#endif
其中#define FILENAME_H为基本格式,FILENAME_H为头文件名称,但要全部使用大写形式,使用单下划线后紧跟一个H表明是头文件。不要在宏名最前面加上“_"或“__”,即使用FILENAME_H代替_FILENAME_H_,因为一般以"_"和”__"开头的标识符为系统保留或者标准库使用。
更多追问追答
追问
哥们,我还不咋明白啊,我都弄好几天了,
你有更详细点的吗,
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询