导航:首页 > 源码编译 > keil编译出两个相同的文件

keil编译出两个相同的文件

发布时间:2022-04-21 01:35:16

⑴ keil 怎么同时编译多个C文件

编好多个c文件,做个.h头文件,将main函数中需要的程序以类似extern
void
getnum()的格式写上,然后再main函数中添加include
“*.h”,便可以在main函数中使用其他c文件中定义的函数了。

⑵ keil建立一个工程中有多个程序共同编译的方法

keil设置里要包含进来,manage components里要设置包含文件

⑶ keil中怎么在一个工程下使用两个C文件

LZ问题问得不详细,回答没法详细。
在KEIL中使用2个 C文件,是非常简单的。比如有一个main.c文件,和一个LCD.c文件,main.c你是如何添加到KEIL 工程中的,LCD.c就用同样的办法添加到 KEIL 工程中就行了。
难点不是使用2个C文件,而是在一个C文件中,如何使用另一个C文件的函数、变量等。
多个 C文件的设计,一般称之为 模块化设计,一个C文件就为一个设备(模块)的功能函数(如LCD.c为液晶屏的功能函数)。这种设计的程序结构阶级性是非常明显的,如main.c 可以使用LCD.c的函数,而LCD.c 不可以使用main.c的函数,这就像一个上司可以命令下属干活,而一个下属不能安排上司做事。这C语言中,这叫函数归属关系,上级叫 父函数、下级叫 子函数。基于这种归属关系,所以,在多个C文件中,只需要在父级函数内,对子函数进行 外部函数声明(extern xxxxx();),就可以正常使用 子文件中的函数了。
但模块化设计就是为了方便功能程序(一般主文件 我称之为 功能程序)的编写。如果每一个模块都需要 main.c 在开头写一堆的 extern,不仅会导致主文件的程序界面混乱不堪,模块一多,还容易出错,增加主文件工作量。于是要求,每一个模块文件,都必须带有自己的声明文件(就是对应的头文件,如LCD.h)。主文件只需要包含这个模块的头文件,就能正常调用 子文件中的功能函数了,这样才能减少功能文件的程序编写工作,不仅可以减少出错率,还能提供程序可读性。只需查看功能文件内包含的头文件,就能知道这程序有什么功能模块了。

⑷ keil c程序两个副程序头文件相同,只能调用一个,头文件改不了,不知道怎么解决哪位高手帮下忙,急急急

可以用预处理。就是
#ifndef
#define
#endif
你试试重新建一个头文件,在头文件ABC.h
#ifndef ABC_H_
#define ABC_H_
#include "reg51.h"

#include "ABSACC.H"
#endif
然后在两个程序里包含"ABC.h".
不知道这样行不行。

⑸ keil一个工程文件下可以放多个.c文件吗但是编译时会出现错误,怎么解决

当然可以,但你需要有配套的.h文件让C文件之间可以互相调用。
例如有1.c和2.c两个文件,1.c中有个全局变量a,有个函数void b(void),那么就有1.h这么写
extern char a;
void b(void);
这样的话,如果2.c想使用a或函数b的话,在2.c的开头加一句#include "1.h"就能用了。

⑹ keil 多编译个文件编译出错

出现这个错误的原因在于不同的模块中出现了重复的符号。根据错误提示,貌似是你的两个.c文件里有同名的函数main,消除掉一个就可以了。

⑺ 我的KEIL为什么一个工程下面有两个文件,编译就不成功

你说的项目是独立的,是不是说这是两个题目的程序互相之间没有任何关系,要是这样的,就必须建立两个工程,各自进行编译,是不允许把两个程序放在一个工程中的。

⑻ keil生成的文件怎么那么多,分别是什么,比如.opt .bak .plg

.plg:编译器编译结果
.hex和.bin:可执行文件
.map和.lst:链接文件
.o:目标文件
.crf、.lnp、.d和.axf:调试文件
.opt:保存工程配置信息
.bak:工程备份文件

⑼ KEIL 中关于预编译的问题(重复包含)

“两个源文件file1.c和file2.c都会将file.h插入进去吗?”
不会,只插入一次。

“这样写不就是为了不重复包含吗?”
对呀,你不是很明白吗。

“如果只在两个当中的一个插入file.h,假设file1.c,那我file2.c中用到了file.h中的函数,不是会出现未定义的错误吗?”
怎么会呢,此时这个函数对于工程而言已经被定义了呀。

用你的例子给你讲解一下。开始编译以后,假设先编译file2.c,则file2.c会包含file.h并载入其中的所有声明以及宏定义,包括#define _FILE_H_;编译完file2.c后开始编译file1.c,此时从file2.c会再次包含file.c,但因为_FILE_H_已经定义过,就不会执行判断条件之后的头文件内容。通过这样的方式就能避免重复定义。

⑽ KEIL C51多文件编译

首先主函数只能存在于一个文件中,这个文件可以直接取名mian.c这样比较方便管理。然后按功能分其它文件,分别编写XX.h和XX.c文件,在XX.h中写入函数的声明和全局变量的定义,在XX.c中写函数的具体内容,并且在XX.c中要include“XX.h”,在mian.c中include所有的.h文件。这样就可以正常编译和烧写了。最终生成的还是一个hex文件

阅读全文

与keil编译出两个相同的文件相关的资料

热点内容
方言app有什么用 浏览:768
程序员点赞视频大全 浏览:284
命令的异同 浏览:471
加密狗是干什么工作的 浏览:389
centosinit命令 浏览:402
三年怎么算利息怎么算法 浏览:888
手机拍照根目录是哪个文件夹 浏览:968
小猫爪解压 浏览:612
源码置入微信小程序 浏览:922
如何开一家少儿编程公司 浏览:953
光伏计算日照时用什么app 浏览:234
计算阶乘的python程序 浏览:47
传奇如何选择服务器 浏览:574
英雄联盟光辉和程序员哪个厉害 浏览:253
什么是pojo编程 浏览:926
外挂编程视频 浏览:134
学javaapp 浏览:12
客户端无盘如何与服务器连接 浏览:792
狙击手命令 浏览:506
财务防雷指标公式源码 浏览:877