溝渕です。 船戸 理生 wrote: >> #define inb(p) ({ __u8 __v = __raw_readb(__io(p)); __v; }) > > から先の動作が、実際どういった動作と解釈するべきか、 > 完全には理解できておらず、特に > > ({ __u8 __v = __raw_readb(__io(p)); __v; }) > > がどう動作するのかが分かりません。 __u8型の変数__vを定義してそこにio空間にあるpの値を格納します。そしてこの マクロは、値の格納された__vそのものになります。 このマクロは単純に展開されるだけですが、複雑なマクロなどを読む際には、 gccのオプション"-E"を使用してプリプロセス後のソースを読むと良いと思います。