为什么我的c语言编译不了,一编译就出错?

如题所述

子函数重复定义。

同一个子函数有两个函数体{}。

Function already has a body指的是函数已经被定义过了。

出现这种错误的原因主要是你定义了相同函数名字的函数,比方说在MAIN.C里面定义了delay()函数,然后在APP.C里面又定义一个delay()函数,则会出现这种警告或错误,将同名函数修改名字即可。

_delay这个函数重定义了,说明这个函数名定义了两遍。检查一下,如果没有的不要把函数体(函数定义)放在头文件里,头文件里只放声明,定义放.c文件。

扩展资料:

Keil提供了包括C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。

如果使用C语言编程,那么Keil几乎就是不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。

Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。

与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。

温馨提示:答案为网友推荐,仅供参考
相似回答