DSP

值加减,别忘可能是个指针运算

2019-07-13 17:51发布

在做dsp pci驱动时,有一句: WRITE_REGISTER_ULONG((PULONG) (pdx->base[TI_OPREGS] + (TI_HSR/4)), TI_DISABLE); TI_HSR 做了除以4,感觉不解,就把除以4去掉,运行。。。毫无意外的蓝屏了 pdx->base[TI_OPREGS] + (TI_HSR/4) 检测了它的值,发现和 pdx->base[TI_OPREGS]与TI_HSR的值相加结果一样。 感到很疑惑,后来看了pdx->base[TI_OPREGS]它的类型是PULONG,即无符号长整型数指针。 上述代码属于指针运算了,对于PULONG类型,加1,相当于在数值上加四。