对于我正在编写的漂亮打印机,我想知道容器中使用的对齐方式或类型。不幸的是,使用alignof()
或任何类似的“标准”运算符都不起作用(https://sourceware.org/bugzilla/show_bug.cgi?id=17095)。使用直接在源代码中工作的“典型”宏技巧也不起作用:
p ((char *)(&((struct { char c; double _h; } *)0)->_h) - (char *)0)
A syntax error in expression, near `{ char c; double _h; } *)0)->_h) - (char *)0)'.
这有可能吗,或者唯一的方法是让 GDB 在内部支持它?