fork download
  1. #include <iostream>
  2.  
  3.  
  4. #define CHECK_ALIGNMENT(arg) \
  5.   std::cout << #arg << ": " << (reinterpret_cast<long>(&arg) % sizeof(int)) << std::endl;
  6.  
  7.  
  8. int main()
  9. {
  10. std::cout << "GCC version: " << __VERSION__ << std::endl;
  11.  
  12. char c = 'a';
  13. unsigned char data[16];
  14. CHECK_ALIGNMENT(c);
  15. CHECK_ALIGNMENT(data[0]);
  16. CHECK_ALIGNMENT(data[4]);
  17. CHECK_ALIGNMENT(data[8]);
  18. CHECK_ALIGNMENT(data[12]);
  19. }
Success #stdin #stdout 0.01s 2680KB
stdin
Standard input is empty
stdout
GCC version: 4.3.4
c: 3
data[0]: 3
data[4]: 3
data[8]: 3
data[12]: 3