关于C语言高效编程问题
各位好:
我在网上看到C语言高效编程的的四大绝招,有个字符串的赋值的例子,程序如下
#define bwMCDR2_ADDRESS 4
#define bsMCDR2_ADDRESS 17
int BIT_MASK(int __bf)
{
return ((1U < < (bw ## __bf)) - 1) < < (bs ## __bf);
}
void SET_BITS(int __dst, int __bf, int __val)
{
__dst = ((__dst) & ~(BIT_MASK(__bf))) | \
(((__val) < < (bs ## __bf)) & (BIT_MASK(__bf))))
}
SET_BITS(MCDR2, MCDR2_ADDRESS, RegisterNumber);
请高手帮我解释,指点一下,都是位操作,怎么看明白啊?
还有bs ## __bf,这是什么意思??
谢谢了
[解决办法]
##是粘贴符 例如: #define _T(x) L##x 就是把L连接到x上, _T( "what ") = L "what " 这样的话使得char* 变成UNICODE版本了. 位操作怎么读,你只要明白位操作的含义就知道怎么读了.