我理解的結構比爲「實施具體的」,只是不知道是否有任何簡單的方法來計算結構比對,例如:有沒有簡單的方法(宏?)來告訴結構對齊?
typedef struct
{
char c;
int i;
} test;
if sizeof(test) - (sizeof(char) + sizeof(int)) == 0 means alignment is 1 byte;
if sizeof(test) - (sizeof(char) + sizeof(int)) == 1 means alignment is 2 bytes;
// ...etc...
是上述的前提下可靠地真的嗎?
的#include 結構虛設 { 炭X; int i; }; size_t test_alignment = offsetof(struct dummy,i); 以上工作? –
取決於「作品」的含義。它將test_alignment設置爲'struct dummy'裏面'i'的對齊方式。如果這就是你想要它做的,那麼它肯定會奏效。 –
這將測試'int'類型的對齊(我假設你想測試定義的類型'test'的對齊?) – caf