标题:探讨一下寄存器地址!
只看楼主
jxry8888
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2006-8-13
 问题点数:0 回复次数:4 
探讨一下寄存器地址!

#include <iostream>

using namespace std;

int main()
{
register int x = 3;
cout<<"the location of "<< x << " is "<< &x;
return 0;
}

整个程序理论上来说,对于寄存器变量不应该能用取地址符号的,可是我
无论在VC还是在.net中运行都是正确的, ,由地址返回,不知道怎么解释.?
由朋友说:是因为编译器可能不分配寄存器地址给他,所以只给了一块内存,
得到的就是内存地址.
这样,我就想问这个寄存器变量还能不能用啊?
什么时候用才安全,可以分配到地址?

搜索更多相关主题的帖子: 寄存器 地址 探讨 
2006-09-30 16:56
corrupt
Rank: 2
等 级:新手上路
威 望:3
帖 子:535
专家分:0
注 册:2004-9-29
得分:0 
不懂,友情up

2006-10-02 07:56
nifer
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-10-1
得分:0 

用寄存器变量是为了,cpu读取变量的速度 ,编译器是否会开辟寄存器变量,这要取决于是什么编译器,有的不会,会把它看作一般内存变量,比如vc


2006-10-02 12:34
jxry8888
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2006-8-13
得分:0 
以下是引用nifer在2006-10-2 12:34:27的发言:

用寄存器变量是为了,cpu读取变量的速度 ,编译器是否会开辟寄存器变量,这要取决于是什么编译器,有的不会,会把它看作一般内存变量,比如vc

那什么时候才能安全的使用寄存器变量呢?


2006-10-02 19:56
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
得分:0 
我记得好象函数参数时使用.?
大概吧,是个印象
要是没别人说了,我就这么认为了,呵呵

嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-10-03 19:07



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-93777-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.104599 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved