形参变量是否可以指定存储区?

[复制链接]
3791|18
 楼主| rockzone 发表于 2009-11-25 16:11 | 显示全部楼层 |阅读模式
比如这样
void a(unsigned char xdata a,unsigned char xdata b)
{
//code
}

我试了一下,好像不行,不知道大家都是怎么做的?
 楼主| rockzone 发表于 2009-11-26 09:47 | 显示全部楼层
自己顶
mrbbsp 发表于 2009-11-26 10:14 | 显示全部楼层
这个是局部变量吧,
那就是分布在栈中
在栈中就要在运行时确定了,
由此,得出不可指定
desert_hawk 发表于 2009-11-26 10:23 | 显示全部楼层
怎么样传递参数是编译器来决定的,用户不能指定。
 楼主| rockzone 发表于 2009-11-26 10:24 | 显示全部楼层
局部变量是可以指定存储区的比如这样
void a(unsigned char xdata a,unsigned char xdata b)
{
unsigned char xdata i;//这个就可以
//code
}
血之魔王 发表于 2009-11-26 10:47 | 显示全部楼层
学习了
ejack 发表于 2009-11-26 12:04 | 显示全部楼层
有一种变通的方法实现:Large模式。不过跟LZ的需求不太吻合。
 楼主| rockzone 发表于 2009-12-3 16:14 | 显示全部楼层
顶起来,看还有没有人明白这个问题
lanmp 发表于 2009-12-3 16:22 | 显示全部楼层
lz为什么要这么做?
 楼主| rockzone 发表于 2009-12-3 16:36 | 显示全部楼层
给内部ram省地方
icecut 发表于 2009-12-3 17:09 | 显示全部楼层
传指针.
arm_fan168 发表于 2009-12-3 17:40 | 显示全部楼层
本帖最后由 arm_fan168 于 2009-12-3 17:42 编辑

不太明白楼主什么意思,此函数只有两个char型的参数,编译器会用寄存器传递参数,不会用ram传递的。
xlsbz 发表于 2009-12-3 18:24 | 显示全部楼层
比如这样
void a(unsigned char xdata a,unsigned char xdata b)
{
//code
}

我试了一下,好像不行,不知道大家都是怎么做的?
rockzone 发表于 2009-11-25 16:11


你问的是啥编译器?

:Q
xlsbz 发表于 2009-12-3 18:25 | 显示全部楼层
给内部ram省地方
rockzone 发表于 2009-12-3 16:36


这理由不杂好!!:P
xlsbz 发表于 2009-12-3 18:27 | 显示全部楼层
传指针.
icecut 发表于 2009-12-3 17:09

可以么?:o
 楼主| rockzone 发表于 2009-12-7 13:57 | 显示全部楼层
xlsbz 发表于 2009-12-7 16:20 | 显示全部楼层
Txapp 发表于 2009-12-7 19:08 | 显示全部楼层
形参变量指定存储区有意思不?
xlsbz 发表于 2009-12-7 19:18 | 显示全部楼层
18# Txapp

有意思吧!!

很好玩............

不过有难度啊

也有可能实现不了......
您需要登录后才可以回帖 登录 | 注册

本版积分规则

69

主题

812

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部