作者puddingDD (布丁弟弟)
站内PLT
标题[问题]C/C++程式指标应用问题
时间Thu Sep 6 23:14:25 2012
小弟是社会新鲜人
上班之後才发现程式的不足
特别是指标的应用,我所知道的指标只停留在 基本的指标概念
#define output(port,value) *((volatile unsigned int *)(port))=(value)
1.我的解读是:定义一个函式, 输入参数为port及value,函式内容为把value的值存入port
变数中,这样解读对吗?
2.我已经被*及括号搞的不知道怎麽回事,可以解释一下此定义中用的括号及*的来龙去脉
吗?
3.求学阶段常用程式模拟系统,所以程式的回圈 判别 变数宣告 副程式 运算 都没有问题
,唯独没接触到指标,是否可以推荐一本指标进阶易懂的书,给小弟我学习?
非常感谢大大们的帮助!!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 125.224.248.231
1F:推 CindyLinz:第一个 * 是「取值」, 第二个 * 是描述 type 的一部分 09/06 23:40
2F:→ puddingDD:*(volatile unsigned int *port)=value 这样写可以吗? 09/06 23:52
3F:→ puddingDD:(volatile unsigned int *)及(port)和(value)的括号都是 09/06 23:52
4F:→ puddingDD:必要的吗? 09/06 23:53
5F:→ james732:我很想回覆但觉得你问错板了XDDD 09/07 09:26
6F:→ tomnelson:他是问错板了,该去C/C++板问... 09/08 00:57
7F:→ puddingDD:谢谢回答~我已经懂了!! 09/08 00:57
8F:→ tomnelson:这就是memory-mapped I/O的port output方式用C语言写, 09/08 00:58
9F:→ tomnelson:这在一些底层程式(driver/firmware...)中常看到. 09/08 00:59
10F:推 jaiyalas:一楼的帐号真是有够眼熟XD 09/10 18:24
11F:→ godfat:楼上想把欢乐带来这里吗? XD 09/11 03:17
12F:推 jaiyalas:为什麽不? XD 09/11 13:15
13F:→ godfat:没有不,只是觉得好像有难度而已 XD 09/12 01:07
14F:推 jackace:我觉得应该先把define跟定义函式的不同搞清楚 11/04 10:15