A. keil5编译没问题但是显示类型冲突是啥原因
keil5编译没问题但是显示类型冲突的原因如下:
1、变量名重复:在程序中,可能会有不同的变量使用相同的名称,导致编译器无法确定使用哪个变量
2、数据类型不匹配:程序中可能存在数据类型不匹配的情况,例如将一个整型变量赋值给一个字符型变量,或者将一个指针变量赋值给一个非指针变量等。
3、编译器版本问题:使用不同版本的编译器可能野数会宴脊袭导致类型冲突,建议使用同一版本的编译器进行编译。晌兄
4、头文件不匹配:程序中使用的头文件与代码中的函数或变量类型不匹配,或者头文件中的函数或变量与其他头文件中的函数或变量重名,导致类型冲突。
B. keil编译器运行为什么检测不到错误
答:这种情况是你的程序还有别的错误,
当你把别的错误改掉后,再编译你的vid 就会提示错误。
这种情况keil 经常有的。
C. 请问为什么keil软件中没有错误,但不能编译生成hex文件,当时你是怎么解决的啊
如果你的keil设置都是对的话,编译正确后会在软件最下面的窗口显示一些信息,其中就有生成xxx.hex的提示。如果有这句话,说明你的keil确实设置正确,并且也生成了可执行文件。这时候就只有一个可能,是你下载到单片机的可执行文件不是最新生成的,可以尝试在下载时重新定位你的可执行文件。比如宏晶单片机在使用串口下载程序时,每次都要重新定位新生成的可执行文件。
D. keil错误:error c129: missing ';' before 'unsigned' 程序怎么修改还是编译不了,请各位前辈指点,谢谢
我也试验了一下,复制到我的kiel 3中,编译之后没有错误和警告,我以前也遇到过类似问题,后来查出是.h文件中函数声明少了个分号,但你这个是编译器自带的头文件,只要你不动就应该没事.建议你到别的机器上拷贝你用的两个头文件,将原来的头文件覆盖,在编译试试.因为我和楼上的都编译成功了,只能怀疑你的头文件被改了.
E. 我编了一段51单片机程序,在keil中运行,然后一直处于编译状态,等了半天也没有编译好,请问是什么原因
那就是程序没有编好
F. 求解,keil编译无法通过,百度搜不到答案
主要是三个问题:
第一、前面两个警告是说函数定义了却没有调用, 可以不用管。
第二、Error L116的错误是说超过2K的程序都被切掉,没有编译它们了。可能原因:1、你的软件没有注册,使用的评估版,最多只能编译2K程序;2、在下图的Code Rom Size处设置限定了2K。
第三、后面的Error都是RAM空间不够,你可以优化你的程序,或者试试设置下图红线区域的Memory Model: