(下手な英語でごめんなさい。)
次のようなマクロが必要MASKです。
MASK(a)に展開します(1<<(a))MASK(a,b)に展開します(1<<(a) | 1<<(b))MASK(a,b,c)に展開します(1<<(a) | 1<<(b) | 1<<(c))- 等
Cプリプロセッサでそのようなマクロを定義することは可能ですか? 多分いくつかのGCC拡張機能を助けることができますか? または、 などに展開されるMASK(x)ような単一の引数で実装することは可能ですか?MASK((a,b))(1<<(a) | 1<<(b))
追加した。関数として実装することに興味はありませんMASK。