私は今、いくつかのcコードを読んでいます。そして、「#definesometing」の表現についてはあまり明確ではありません。
たとえば、私はこのコードを見ました:
typedef enum cairo_path_op {
CAIRO_PATH_OP_MOVE_TO = 0,
CAIRO_PATH_OP_LINE_TO = 1,
CAIRO_PATH_OP_CURVE_TO = 2,
CAIRO_PATH_OP_CLOSE_PATH = 3
} __attribute__ ((packed)) cairo_path_op_t; /* Don't want 32 bits if we can avoid it. */
#ifndef __GNUC__
#define __attribute__(x)
#endif
「 __属性__(x)」に注目します。他のヘッダーファイルでは、「__属性__(x)」は値なしで定義されているため、列挙型「cairo_path_op」でどのように有効になりますか?