ちょうど困っていた時に行き当たったネタです。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))); }
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))); }