当前位置: 首页 新闻详细

为什么我的c语言编译不了,一编译就出错?,keill 编译时出现C51.EXE运行占大量cpu ,出现卡机,甚至死机,一直编译...

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

子函数重复定义。

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

Functionalreadyhasabody指的是函数已经被定义过了。

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

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

扩展资料:

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

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

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

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

二、c51编译时出现failtoexecute:ckeil\c51\bin\c51.exe怎么整

有时候我们打开别人的KEIL程序时,会经常碰到can'texecute'c:\keil\c51\bin\c51.exe'的错误

解决对策:

出错原因:被打开的KEIL程序的编译器安装在C盘,即c:\keil的路径下。而使用者的KEIL装在不同路径。

针对这样的原因,就有两种解决方法:

1、自己重建工程,把要打开的程序的文件拷贝过去,编译即可以通过,但这样做比较费事。

2、打开出错的程序,选择菜单:Project-Compoonents,EnvironmentandBooks

选择Folders/Extensions,并把“UsesettingsfromTOOLS.INI”前面的勾打上即可.

三、keill编译时出现C51.EXE运行占大量cpu,出现卡机,甚至死机,一直编译...

这个问题,我之前做一个液晶项目,写了一个程序就是你这种故障,结果是代码问题,有些ASCLL码写进去后编译器卡死,CPU运行100%,只好强制关闭,结果查了半天是中期一行代码去掉就OK拉,我不知道你的编译现象,你可以编译其他程序看看,会不会也会卡死,如果是的话那就是编译器问题,如果不是的话,是你程序问题。
发布人:p970223 发布时间:2024-07-29