この C ステートメントの意味を誰か教えてもらえますか?
static uint8_t chess_storage(DM%2) host_response[14] ;
有効な C ではありません%
。その場所に a を配置することはできません。またchess_storage(DM%2)
、(おそらく)それが何かを実行できるマクロでない限り、そこにすべてを含めることはできません。
これ:
static uint8_t host_response[14];
host_response
14 個の 8 ビット符号なし整数 (別名「バイト」) の配列として宣言します。
これを追加すると:
#define chess_storage(size)
#define DM 1
次に、コードは少なくとも有効になり、プリプロセッサが計算できるchess_storage
引数でマクロの呼び出しを取得します。1%2
マクロは空なので、その項全体がなくなり、上記の配列宣言が残ります。
おそらく他にも、より「芸術的な」マクロが考えられます。