打印

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

[复制链接]
2817|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
rockzone|  楼主 | 2009-11-25 16:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
rockzone|  楼主 | 2009-11-26 09:47 | 只看该作者
自己顶

使用特权

评论回复
板凳
mrbbsp| | 2009-11-26 10:14 | 只看该作者
这个是局部变量吧,
那就是分布在栈中
在栈中就要在运行时确定了,
由此,得出不可指定

使用特权

评论回复
地板
desert_hawk| | 2009-11-26 10:23 | 只看该作者
怎么样传递参数是编译器来决定的,用户不能指定。

使用特权

评论回复
5
rockzone|  楼主 | 2009-11-26 10:24 | 只看该作者
局部变量是可以指定存储区的比如这样
void a(unsigned char xdata a,unsigned char xdata b)
{
unsigned char xdata i;//这个就可以
//code
}

使用特权

评论回复
6
血之魔王| | 2009-11-26 10:47 | 只看该作者
学习了

使用特权

评论回复
7
ejack| | 2009-11-26 12:04 | 只看该作者
有一种变通的方法实现:Large模式。不过跟LZ的需求不太吻合。

使用特权

评论回复
8
rockzone|  楼主 | 2009-12-3 16:14 | 只看该作者
顶起来,看还有没有人明白这个问题

使用特权

评论回复
9
lanmp| | 2009-12-3 16:22 | 只看该作者
lz为什么要这么做?

使用特权

评论回复
10
rockzone|  楼主 | 2009-12-3 16:36 | 只看该作者
给内部ram省地方

使用特权

评论回复
11
icecut| | 2009-12-3 17:09 | 只看该作者
传指针.

使用特权

评论回复
12
arm_fan168| | 2009-12-3 17:40 | 只看该作者
本帖最后由 arm_fan168 于 2009-12-3 17:42 编辑

不太明白楼主什么意思,此函数只有两个char型的参数,编译器会用寄存器传递参数,不会用ram传递的。

使用特权

评论回复
13
xlsbz| | 2009-12-3 18:24 | 只看该作者
比如这样
void a(unsigned char xdata a,unsigned char xdata b)
{
//code
}

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


你问的是啥编译器?

:Q

使用特权

评论回复
14
xlsbz| | 2009-12-3 18:25 | 只看该作者
给内部ram省地方
rockzone 发表于 2009-12-3 16:36


这理由不杂好!!:P

使用特权

评论回复
15
xlsbz| | 2009-12-3 18:27 | 只看该作者
传指针.
icecut 发表于 2009-12-3 17:09

可以么?:o

使用特权

评论回复
16
rockzone|  楼主 | 2009-12-7 13:57 | 只看该作者
上去

使用特权

评论回复
17
xlsbz| | 2009-12-7 16:20 | 只看该作者
下来

使用特权

评论回复
18
Txapp| | 2009-12-7 19:08 | 只看该作者
形参变量指定存储区有意思不?

使用特权

评论回复
19
xlsbz| | 2009-12-7 19:18 | 只看该作者
18# Txapp

有意思吧!!

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

不过有难度啊

也有可能实现不了......

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

69

主题

807

帖子

4

粉丝