c语言编程多个文件的组织关系错误
c语言编程多个文件的组织关系错误
因为keyboard.c,display.c中需要reg52.h,为皮面重定义我建了
reg.h中有:
#include <reg52.h>
已知:
main.c中:
#include "includes.h";
=====================
includes.h中:
#include "reg.h"
#include "display.h"
#include "keyboard.h"
#include <stdio.h>
=====================
display.h中:
#include "reg.h"
#define DataPort P1
sbit LATCH1=P0^2;
sbit LATCH2=P0^3;
=====================
keyboard.h中:
#include "reg.h"
#define KeyPort P2
=====================
结构示意
uvsion出错提示
这里只调用了头文件,没必要重复调用,只要主程序里的includes.h中:按先后顺序排就可以了,比如大家都调用了#include "reg.h",就把#include "reg.h"放在最前面,如果假设#include "display.h"中又调用#include "keyboard.h"中的定义变量或者函数,又把#include "keyboard.h"放在最前面,以此类推。
同一个.C文件下的头文件不要重复,.C里的后一个头文件可以直接引用前一个头文件的定义
可以在头文件定义时加上防止重定义的宏
如果在编程中为了漏加头文件或重复添加头文件,可以这样做:
1.每一个C文件都有一个对应的头文件,头文件都要有防重复编译的宏。每一个C文件只包含这个文件的头文件。
2.整个工程文件必然有一个main函数所在的C文件,在这个C文件所在的头文件中,包含所有.C文件对应的头文件。
3.每一个独立的.c文件对应的头文件只需包含main函数所在C文件的头文件即可。
谢谢您的回答,你的回复对我很有帮助!
谢谢您的回答,你的回复对我很有帮助!
谢谢您的回答,你的回复对我很有帮助!