C语言编译数组中有的加code有的不加,有什么区别
像ucharcodetable[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};和uchards1302[]={0xfe,0xfd...
像
uchar code table[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
和
uchar ds1302[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
都能运行,两者有什么区别 展开
uchar code table[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
和
uchar ds1302[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
都能运行,两者有什么区别 展开
3个回答
展开全部
你这是单片机的程序吗?
加了code,这个变量会存储在rom中,不能再改变。
加了code,这个变量会存储在rom中,不能再改变。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
keil中的code表示定义的变量存储在程序存储器中,这种变量是只读的,不可写,作用主要是节约RAM的使用,嵌入式系统的资源是有限的,所以要省着用
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C在定义数组时是占用内存空间的,而code是编码的意思,在定义编码时是直接分配到程序空间的,编译后编码占用的事程序存储空间而非内存空间。
在有些时候,定义的数组中包含的元素比较多的时候,数组的所占的存储空间就会大一些,而不希望其影响内存,而把它安排到编码空间,一定程度上可以节省内存。
keil中的code表示定义的变量存储在程序存储器中,这种变量是只读的,不可写,作用主要是节约RAM的使用,嵌入式系统的资源是有限的。
在有些时候,定义的数组中包含的元素比较多的时候,数组的所占的存储空间就会大一些,而不希望其影响内存,而把它安排到编码空间,一定程度上可以节省内存。
keil中的code表示定义的变量存储在程序存储器中,这种变量是只读的,不可写,作用主要是节约RAM的使用,嵌入式系统的资源是有限的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询