如果我們將屬性寫入某些變量或函數,那麼正確的做法是什麼?我將在以下樣式的幫助下闡述我的問題。在C中使用屬性時,什麼是正確的編碼練習?
int a __attribute__((aligned(32)));
__attribute__((aligned(32))) int a;
__attribute__((aligned(32)))
int a;
int __attribute__((aligned(32))) a;
您認爲更好或正確的書寫屬性的方法是什麼?
如果我們將屬性寫入某些變量或函數,那麼正確的做法是什麼?我將在以下樣式的幫助下闡述我的問題。在C中使用屬性時,什麼是正確的編碼練習?
int a __attribute__((aligned(32)));
__attribute__((aligned(32))) int a;
__attribute__((aligned(32)))
int a;
int __attribute__((aligned(32))) a;
您認爲更好或正確的書寫屬性的方法是什麼?
最好的方法是遵循標準C.所有的例子都是非標準的。
由於C11,您可以使用_Alignas
關鍵字在標準C:
_Alignas(32) int x;
這是「最好」的方式,因爲它是標準的,便於攜帶。
你可以在'
是的,這使得代碼與C++'alignas'和'alignof'兼容。這可能會或可能不會是一件好事。 – Lundin
我們應該在哪些標準中決定哪一個最好?這是一個非常主觀的問題。無論如何,如果效率是相同的,我會在任何情況下選擇'int a;'。如果有任何細節要添加到這個聲明中,只需評論它。 – Badda
無論你決定什麼,每次都以同樣的方式做。 –