数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 222|回复: 7

[C51] 声明中用code关键字的目的是什么?

[复制链接]
发表于 2025-6-2 19:49:58 | 显示全部楼层 |阅读模式
code关键字编译成32位C251代码的时候报了非常多的错,估计是长度不兼容,这里为什么要声明成code呢?如果把这个code关键字去掉,会有什么影响?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x
发表于 2025-6-2 19:54:43 | 显示全部楼层
code 表示这个数组是放在flash空间(code区段)里的,至少有64k,足够放了。这里面只能是只读的常量。
如果不加code,默认它是放到RAM里,c51的64字节通常是放不下的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-6-2 20:09:06 | 显示全部楼层
maidoo 发表于 2025-6-2 19:54
code 表示这个数组是放在flash空间(code区段)里的,至少有64k,足够放了。这里面只能是只读的常量。
如果 ...

明白了,相当于是内存空间不够放所以放硬盘里是吧?
回复 支持 反对

使用道具 举报

发表于 2025-6-2 20:09:38 | 显示全部楼层
c251的常数表格关键字好像是const,试试把code改成const。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-6-2 20:14:10 | 显示全部楼层
mmxx2015 发表于 2025-6-2 20:09
c251的常数表格关键字好像是const,试试把code改成const。

改成const好了,但是const默认是放内存还是放flash呢?
回复 支持 反对

使用道具 举报

发表于 2025-6-2 20:15:32 | 显示全部楼层
猪小呆 发表于 2025-6-2 20:14
改成const好了,但是const默认是放内存还是放flash呢?

const在很多系统中都是放在flash中。
回复 支持 反对

使用道具 举报

发表于 2025-6-3 10:18:19 | 显示全部楼层
如果楼主用STC32单片机的话建议看看数据手册的第10章节有详细讲解。
回复 支持 反对

使用道具 举报

发表于 2025-6-3 14:25:27 | 显示全部楼层
那边有一些针对性比较强的帖子,你可以到那边搜索 : code
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 微信登录

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-6-15 02:46 , Processed in 0.421200 second(s), 8 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

快速回复 返回顶部 返回列表