Keil 单片机C语言编译软件的使用(涉及指针数组)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Keil 单片机C语言编译软件的使用(涉及指针数组)相关的知识,希望对你有一定的参考价值。

提前说声谢谢了。大家再帮个忙。
Keil软件中,使用了指针数组,比如:
Unsigned char *str[]=“Beijing”,”Tianjin”,”Shijiazhuang”;
当这样的指针数组太多时,点击”Rebuild all targets files”会出现以下提示:
error C249: 'DATA': SEGMENT TOO LARGE
当指针数组的个数不超过一定量时,不会有上述情况,再多一个就会出现上述提示。

突然联想到Keil只能编译2K代码,具体说的是什么?和上面的情况有没有关系?

用code 关键字把数据放到rom里面去,没加默认是用ram的。
而ram只有几百b.
Unsigned char code *str[]=“Beijing”,”Tianjin”,”Shijiazhuang”;
但这样做要注意,只能读而不能改写数据。
参考技术A 1.KEIL C不是只能编译2K的代码,那是应为你用的是非破解的
2.出现的原因是你所悬着的单片机的RAM放不下你定义的数据变量,要知道你定义的变量时放在单片机的RAM中的,

怎么用codeblocks代替keil写和编译单片机程序?

keil用着没codeblocks爽,刚下的最新版keil4还破解不了
我不需要codeblocks生成hex文件,我只需要它能编译单片机程序,然后我再粘贴过keil生成hex文件

虽然可以说都是用来写C的,但你要知道单片机的头文件等codeblocks是没有的,写单片机程序前正常都会选择哪个芯片,codeblocks上你什么选。虽然不要它出HEX,但这些都没有它不可能编译通过吧。按你这么理解我的电脑就可以不用AVR和PIC单片机的软件了。
你刚开始不习惯,但你用久点了就会习惯你所用到的功能了。keil的破解文件网上很多的啊
参考技术A

codeblocks里边好些没有单片机的头文件,给你个keil4,内含注册机

本回答被提问者采纳
参考技术B keil本来就支持第三方编辑器的,这篇文章应该完美地回答了你的问题:http://blog.csdn.net/arielxp/article/details/625650

以上是关于Keil 单片机C语言编译软件的使用(涉及指针数组)的主要内容,如果未能解决你的问题,请参考以下文章

keil2编51单片机程序c 指针赋值提示重复定义,怎么解决

51单片机,使用keil软件,4字节加法或减法子程序

keil C 编程初始化指针函数数组时出错

keil软件中怎样添加STC系列单片机

51单片机,keil 软件 C语言问题(我错在哪了)

关于keil编译器下指针指向数组警告的问题?