什么是文档中SDL Mix_HookMusic澄清中的& ff

时间:2018-01-04 22:01:53

标签: c++ c sdl sdl-2

我正在尝试编写自己的自定义播放功能,当我遇到Mix_HookMusic时,正在查看SDL &ff函数的文档。这指的是什么?提前谢谢!

// make a music play function
// it expects udata to be a pointer to an int

void myMusicPlayer(void *udata, Uint8 *stream, int len)
{
    int i, pos=*(int*)udata;

    // fill buffer with...uh...music...
    for(i=0; i<len; i++)
        stream[i]=(i+pos)&ff;

    // set udata for next time
    pos+=len;
    *(int*)udata=pos;
}
...
// use myMusicPlayer for playing...uh...music
int music_pos=0;
Mix_HookMusic(myMusicPlayer, &music_pos);

1 个答案:

答案 0 :(得分:1)

鉴于ipos都是变量,看起来在这种情况下,涉及的&是按位运算符。猜测(但不确定),ff可能是包含值0xff的变量。这意味着这需要i+pos,检索最低有效8位,并将该值写入stream[i](这有一定意义,因为stream是指向Uint8的指针} s,它可能是公平的假设是unsigned char的typedef。