由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - About volatile in C
相关主题
How to use volatile in c++?关于signal handler
C++ optimization questionC signal SIGFPE 问题
Do the two statements cost the same amount of time?Question about a TICPP example
tail call strange behavior on cl.exe看了这篇文章,脑子有点不够用了
Looks like 王垠 was right about Google culture弱问c++里有没有NULL这个keyword?
随手写的C程序,请指教瓶颈在哪儿?
有人上过coursera的compiler么?copy constructor 问题
汇编的mov指令still confused about inline
相关话题的讨论汇总
话题: volatile话题: 寄存器话题: about话题: what话题: explain
进入Programming版参与讨论
1 (共1页)
c*********t
发帖数: 2921
1
Hi,
Ask for help on volatile.
Can someone explain the keyword volatile in C?
What does volatile mean?
When should we use it?
Is it related to optimization or memory operation?
What is the purpose of volatile?
Is it relevant to real time implementation, or hardware-dependent?
Thanks a lot for any advice or reference.
m*****e
发帖数: 4193
2
It's when the variable could be modified outside the compiler knowledge in
the local context (e.g., another thread/signal handler, hardware, etc).

【在 c*********t 的大作中提到】
: Hi,
: Ask for help on volatile.
: Can someone explain the keyword volatile in C?
: What does volatile mean?
: When should we use it?
: Is it related to optimization or memory operation?
: What is the purpose of volatile?
: Is it relevant to real time implementation, or hardware-dependent?
: Thanks a lot for any advice or reference.

N*********y
发帖数: 105
3
Why not Google it?

【在 c*********t 的大作中提到】
: Hi,
: Ask for help on volatile.
: Can someone explain the keyword volatile in C?
: What does volatile mean?
: When should we use it?
: Is it related to optimization or memory operation?
: What is the purpose of volatile?
: Is it relevant to real time implementation, or hardware-dependent?
: Thanks a lot for any advice or reference.

c*********t
发帖数: 2921
4
I googled it. But I do not get the point.
Who can explain it in simple way?
Thanks a lot.

【在 N*********y 的大作中提到】
: Why not Google it?
b******a
发帖数: 215
5
读某一个寄存器的例子。
架设a是用来读某一个寄存器的值,那么这个寄存器的值是有可能随时改变的,而且这种
值的改变,不会自动刷新compiler所产生的这个变量在memory中的copy. 这种情况下,
当程序中需要这个变量的值的时间,他会重新去读这个变量的值,而不是直接调用memo
ry中的那个copy的值。

【在 c*********t 的大作中提到】
: I googled it. But I do not get the point.
: Who can explain it in simple way?
: Thanks a lot.

m*****e
发帖数: 4193
6
I can explain it in a simple way but you would not understand it anyway.
It's simply not a simple matter, and the C standard is not clear on it
either.

【在 c*********t 的大作中提到】
: I googled it. But I do not get the point.
: Who can explain it in simple way?
: Thanks a lot.

c*********t
发帖数: 2921
7
Hello, microbe:
Thank you for your reply.
Could you just give an example and then explain it?
Thanks a lot.

【在 m*****e 的大作中提到】
: I can explain it in a simple way but you would not understand it anyway.
: It's simply not a simple matter, and the C standard is not clear on it
: either.

c*********t
发帖数: 2921
8
Hi,
请问,你是如何在C中读一个寄存器的值的?
为什么“那么这个寄存器的值是有可能随时改变的,而且这种
你能给个例子吗?
谢谢!
这种
memo
b******a
发帖数: 215
9
寄存器可以映射到memory space里面,只需要读相应地址的值就可以了.
比如状态寄存器就是会随时变化而compiler并不能管理到它的值的变化.

【在 c*********t 的大作中提到】
: Hi,
: 请问,你是如何在C中读一个寄存器的值的?
: 为什么“那么这个寄存器的值是有可能随时改变的,而且这种
: 你能给个例子吗?
: 谢谢!
: 这种
: memo

c*********t
发帖数: 2921
10
谢谢你的指教!
我刚刚看了一片关于volatile解释的article,很好。想post出来和大家分享。
http://publications.gbdirect.co.uk/c_book/chapter8/const_and_volatile.html
看了这篇文章后,我的感觉是把外围硬件的某个寄存器映射到memory的某个地址,而不
是CPU的某个寄存器。不知我的理解对不对?在你的回答中,“寄存器”指的是在哪里
的寄存器?如果是我所指的别的芯片的寄存器的话,那么到底是如何把它映射到memory
的某个地址?我只知道对外围电路,可以用I/O操作,(IN,OUT).
谢谢!

【在 b******a 的大作中提到】
: 寄存器可以映射到memory space里面,只需要读相应地址的值就可以了.
: 比如状态寄存器就是会随时变化而compiler并不能管理到它的值的变化.

a**a
发帖数: 416
11
你关于寄存器的理解是对的。至于怎么映射,那是硬件工程师的事情,做软件的不
需要关心,只需要知道有这么一个映射就好了。对硬件编程的,肯定要查手册,手册
上会告诉你具体一个系统的映射关系。

memory

【在 c*********t 的大作中提到】
: 谢谢你的指教!
: 我刚刚看了一片关于volatile解释的article,很好。想post出来和大家分享。
: http://publications.gbdirect.co.uk/c_book/chapter8/const_and_volatile.html
: 看了这篇文章后,我的感觉是把外围硬件的某个寄存器映射到memory的某个地址,而不
: 是CPU的某个寄存器。不知我的理解对不对?在你的回答中,“寄存器”指的是在哪里
: 的寄存器?如果是我所指的别的芯片的寄存器的话,那么到底是如何把它映射到memory
: 的某个地址?我只知道对外围电路,可以用I/O操作,(IN,OUT).
: 谢谢!

1 (共1页)
进入Programming版参与讨论
相关主题
still confused about inlineLooks like 王垠 was right about Google culture
C++ memcpy declaration use restrict keyword?随手写的C程序,请指教
intel released c++ compiler 2013有人上过coursera的compiler么?
g++ default optimization error汇编的mov指令
How to use volatile in c++?关于signal handler
C++ optimization questionC signal SIGFPE 问题
Do the two statements cost the same amount of time?Question about a TICPP example
tail call strange behavior on cl.exe看了这篇文章,脑子有点不够用了
相关话题的讨论汇总
话题: volatile话题: 寄存器话题: about话题: what话题: explain