構造体や配列のサイズをgccのコンパイル時に出力

| コメント(0) | トラックバック(0)
ちょうど困っていた時に行き当たったネタです。report descriptorのサイズとか、mapファイルだとアライメントされますので。
https://okwave.jp/qa/q1823289.html

__LINE__を入れることで複数箇所からも使えますとのことだったのですが、実際に使うともう一段階深める必要がありました。でも目的は達成できましたので感謝!

#define PRINT_SIZEOF(type)    PRINT_SIZEOF_(type, __LINE__)
#define PRINT_SIZEOF_(type, line)    PRINT_SIZEOF__(type, line)
#define PRINT_SIZEOF__(type, line) \
  void print_sizeof_##line() { asm volatile ("size of " #type " is %0" :: "g"(sizeof(type))); }

トラックバック(0)

トラックバックURL: http://mychro.mydns.jp/cgi-bin/mt/mt-tb.cgi/633

コメントする

アーカイブ

ウェブページ

Powered by Movable Type 5.2.13

ホームページ