define里面的##可能不太常见,它的含义就是拼接两个字符串,比如
#define Conn(x,y) x##y
那么
int n = Conn(123,456); 结果就是n=123456;
再比如下面这个例子:
#define REGISTER_DEMUXER(X,x) { \
extern AVInputFormat ff_##x##_demuxer; \
if(CONFIG_##X##_DEMUXER) av_register_input_format(&ff_##x##_demuxer); }
我们以REGISTER_DEMUXER (AAC, aac)为例,则它等效于
extern AVInputFormat ff_aac_demuxer;
if(CONFIG_AAC_DEMUXER) av_register_input_format(&ff_aac_demuxer);