我初学单片机,看网上有人说keil有人说keilC,这两者有区别吗?是不同的...

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我初学单片机,看网上有人说keil有人说keilC,这两者有区别吗?是不同的...相关的知识,希望对你有一定的参考价值。

我初学单片机,看网上有人说keil有人说keilC,这两者有区别吗?是不同的软件吗?

这是两个不同的概念,Keil是软件,KeilC是语言。Keil是单片机的开发,编译,调试环境,KeilC是开发单片机所用的语言,也就是C语言在单片机中的应用。现在Keil这种开发环境已经有很多版本了,而且有针对不同的硬件版本,比如说Keil
for
C51,Keil
for
arm。
参考技术A 你好!
严格上说,keil
c是keil里面的一个编译软件,但是大家说的应该是一种。因为现在用keil
c的比较多。但是keil好像还有关于AVR,ARM方面的编译器。
打字不易,采纳哦!
参考技术B keil
c是keil里面的一个编译软件,keil中还有关于AVR,ARM方面的编译器

用Keil编译单片机程序时,我定义了一个局部变量但没使用,(此时编译器警告set but neve

用Keil编译单片机程序时,我定义了一个局部变量但没使用,(此时编译器警告set but never used),我检查栈内存的时候找不到该变量,请问该变量是存在哪里了?还是直接丢弃了?跪求单片机大神解答

参考技术A 该变量是存在哪里了?
--被其它变量覆盖了

还是直接丢弃了?

--也算是丢了。追问

我在网上查了一下,说局部变量在定义的时候分配的栈内存,不应该是每个变量都会有自己的栈空间吗,难道说一定要使用了才会给它分配内存?

追答

说局部变量在定义的时候分配的栈内存,...
--不过是凭空的、信口开河而已。

难道说一定要使用了才会给它分配内存?

--Keil软件,其优化编译的智能性,不是一般人能理解的。

--不仅的变量。
--你还可以写一个函数,但是,你不调用它。
--编译后,你再找找,这个函数,它存在吗?

追问

也就是说是Keil把这些没用到的东西都优化掉了,也可以理解,毕竟本来内存就不多。谢谢啦

本回答被提问者采纳
参考技术B 应该是编译器直接优化了,可以不管它。追问

现在在做一个调试小工具,就是要找到这些变量所在的地址,然后读取变量的值

参考技术C 找出这个警告的前面的名称去搜索就知道了追问

在哪搜索?

参考技术D

以上是关于我初学单片机,看网上有人说keil有人说keilC,这两者有区别吗?是不同的...的主要内容,如果未能解决你的问题,请参考以下文章

51单片机程序生不成axf文件吗?

keil c51安装完之后怎么用

Keil C51软件的使用

keil c51与keil mdk区别

KeiluVisionRealViewMDKKeil C51之间的区别

keil软件的作用是啥? 谁能分享