
正文
keil为什么运行不了c语言程序,keil4为什么不能运行
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
keil5的.文件不识别c语言
_delay这个函数重定义了,说明这个函数名定义了两遍。检查一下,如果没有的不要把函数体(函数定义)放在头文件里,头文件里只放声明,定义放.c文件。
被重复引用了。Keil是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统。keil的main.c文件写完后其他c文件出错是因为被重复引用了,在设置中把重复引用关闭即可。
if(INT0==1) goto end00;Pass++;if(Pass==100) Pass=0;end00: ; 只要在这里加上冒号,就可以通过编译。} 你的错误提示,是说你的REG5H文件内容有错误,而且不少。
如果是标准C的话 VC编译是没问题的,如果是Unix或Linux C的话,由于使用的不是微软提供的C语言库,VC是不能编译的。转KEIL也是一样,所以要具体问题具体来看了,不能编译的功能模块应该要重写。
KEIL是用C语言编写单片机程序的,但是单片机并不认识C语言,KEIL还可以把扩展名为C的文件转换为扩展名为HEX的文件,绝大多数单片机都认识HEX文件。
相关问答
Q1: 为什么我的c语言编译不了,一编译就出错?
这个错误应该是外部引用了变量,但连接的时候却没找到变量的定义。代码引用了链接器无法在库和对象文件中找到的内容(如函数、变量或标签)。
主要可能存在以下问题以前安装过vc++0,但是卸载不彻底,或者重装系统后,原来安装软件不能正常使用。解决方法:卸载原软件。
c语言问题未初始化int变量的初值是设置错误造成的,解决方法为:首先我们打开我们的编译器,在main函数中写。
Q2: keil怎么编译不了这个c语言
1、两种可能:KEIL安装设置有问题(破解),检查运行其他程序是否正常。源程序有问题,可能串口设定不对,太快或者是死循环,请调试。
2、看了该问题,有以下几个感触:高版本的基本都是向下兼容的。国人的英语真的很差。。
3、你应该贴出出错提示,就是你所说的那两行英文。出错后系统速度变慢,应该在任务管理器中查看是否有未关闭的进程。
4、是你的宏定义嵌套的层次太多了,这样会造成单片机资源不足的。
5、.第一步是打开devc++5.11,然后进入以下界面。2.接下来,输入以下代码。3.然后单击下面的框并运行选项。4.接下来,在下面的框中选择compile选项,如下图所示。5.然后您可以在下面的框中看到错误。
6、end00: ; 只要在这里加上冒号,就可以通过编译。} 你的错误提示,是说你的REG5H文件内容有错误,而且不少。如果想省事,可以把这个文件删除,再重新安装KEIL,即可解决。
Q3: 在keil仿真中有几行程序不能运行怎么回事?
1、keil编译的时候把代码优化了,所以DelayMs()只保留了一个,其实一样,你可以看一下汇编程序,其实都执行了。
2、你可以尝试把所有优化都关闭后,在编译调试。应该能解决问题。默认的default 选项是O2级别。如果还是不行只能加冗余代码了,因为即使最低级别O0还是有一定级别的优化的。
3、因为在编译优化之后,该行并没有对应的唯一代码。并不是不执行,而是编译器没法放一个针对该行语句的断点。
Q4: 在keilc环境下编辑的AT89C2051的C语言程序不能运行
可能是程序生成hex文件问题,更可能是下载时下载软件上你选择的单片机选择错了。
这是你的硬件电路问题,89C2051的IO口是准双向口,高电平时输出能力很低,最好的方法是改为低电平输出,即把LED方向颠倒过来,经过限流电阻后接+5V,P0、P1的上拉电阻可去掉,当然程序也要改为低电平输出。
你的代码本身可能没有问题,但是你的KEIL不是完整功能版的,估计你是在官网下的评估板,这个版本有限制,从报错的内容来看,应该是限制了你编译的代码规模。所以,你应该去弄其他版本的keil或者换编译器。
高级 - “性能”设置 - 数据执行保护,选择仅为基本windows程序和服务启用DEP,或者在下面非DEP的列表里添加Keil软件的C51编译器就可以了。因为DEP是数据执行保护机制,它的保护下,应用程序的有些操作是不允许执行的。
比如:hello.c,在windows下可能生成hello.exe。在linux/unix下,可能生成hello “编译”和“连接”过程,不能有错误。否则得修改源程序或其它配置,然后重新做一遍。
关于keil为什么运行不了c语言程序和keil4为什么不能运行的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







