文件管理 · 2024年10月1日

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

1. KEIL C51澶氭枃浠剁紪璇

棣栧厛涓诲嚱鏁板彧鑳藉瓨鍦ㄤ簬涓涓鏂囦欢涓锛岃繖涓鏂囦欢鍙浠ョ洿鎺ュ彇鍚峬ian.c杩欐牱姣旇緝鏂逛究绠$悊銆傜劧鍚庢寜鍔熻兘鍒嗗叾瀹冩枃浠讹紝鍒嗗埆缂栧啓XX.h鍜孹X.c鏂囦欢锛屽湪XX.h涓鍐欏叆鍑芥暟鐨勫0鏄庡拰鍏ㄥ眬鍙橀噺鐨勫畾涔夛紝鍦╔X.c涓鍐欏嚱鏁扮殑鍏蜂綋鍐呭癸紝骞朵笖鍦╔X.c涓瑕乮nclude鈥淴X.h鈥濓紝鍦╩ian.c涓璱nclude鎵鏈夌殑.h鏂囦欢銆傝繖鏍峰氨鍙浠ユe父缂栬瘧鍜岀儳鍐欎簡銆傛渶缁堢敓鎴愮殑杩樻槸涓涓猦ex鏂囦欢

2. keil中一个工程的多个c格式文件之间的关系

现在网上介绍的也是流行的方法是在工程中把全部的C文件都加进来,然后在需要调用其它子函数时再定义一个外部命令,用extern来定义。但是这种方法很麻烦的,关系也不容易搞清楚。其实有一个简便的方法,确实就是用include把其它的子函数都加进来就行了,在主程序的前面用多条include把其它的子函数都加进来,而在工程中只加载主程序main()。在主程序中调用子函数时就可以了。各子函数还可以互相调用,但要注意用include加载的顺序。被调用的要在前面。但要注意,在其它的子函数中就不能再重复用include加同一个头文件,只要在主程序中加一次就行,否则编译时会出错的。用include是包含文件的,并非只能包含头文件。

3. 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)。主文件只需要包含这个模块的头文件,就能正常调用 子文件中的功能函数了,这样才能减少功能文件的程序编写工作,不仅可以减少出错率,还能提供程序可读性。只需查看功能文件内包含的头文件,就能知道这程序有什么功能模块了。

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

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