top | item 33761144

(no title)

int0x80 | 3 years ago

There is __attribute__((aligned)) that some compilers provide (e.g. gcc, clang) but it's non-standard.

discuss

order

prabhu-yu|3 years ago

Thank you for the respone.

Can we write like this? Klass ssc __attribute__((64));

This could convey more info than padding.

Further, I wish, gcc could have provided an attribute that explicitly forces for the cache line alignment than just generic alignment. Generic scalar type alignment is not same as the cache line alignment.

Example: Klass sc __attribute__((start_at_cache_line));

gpderetta|3 years ago

alignas(std::hardware_destructive_interference_size) is the portable solution.

account42|3 years ago

alignas() has been standard for a decade now.