什麼是ISO C標準中__attribute__
的替代? 我想移植獨立於編譯器的軟件。什麼是ISO C標準中__attribute__的替換?
3
A
回答
4
沒有一個。
一個解決方案是抽象宏後面的屬性。例如:
#ifdef __GNUC__
#define UNUSED __attribute((unused))__
#else
#define UNUSED
#endif
...
void function(void) UNUSED;
0
這個gcc擴展提供的各種設施沒有一般替代品。大多數其他不兼容gcc的編譯器使用#pragma
來實現類似的目標。自C99以來,C有_Pragma
運算符,它允許您在代碼中間散佈雜注(不僅在適當的行上),並且用宏編寫雜注的內容。但是,您仍然需要對單個功能進行特定「翻譯」,以便將其編譯爲目標編譯器的相應編譯語法。
相關問題
- 1. 根據C++ ISO標準,多通保證是什麼?
- 2. 什麼是__attribute__ vector_size?
- 3. C++標準庫是否可以替換?
- 4. C++庫替換標準cstdio
- 5. ISO C++標準草案
- 6. ISO標準命名是否有標準?
- 7. 目標C中的Xamarin Studio的類HttpWebRequest替換是什麼?
- 8. 在Visual Studio C++中v4sf和__attribute__的等價物是什麼?
- 9. 什麼是目標C的「stringWithContentsOfURL」替代?
- 10. 替換匹配的標準
- 11. 什麼是C#「格式化」標準?
- 12. 迂腐ISO標準
- 13. 替換標準C++分配器?
- 14. QByteArray的標準替換
- 15. 什麼是AWSLambdaClient的替換
- 16. 替換Visual Studio標準庫
- 17. wcslen是ISO/IEC 14882:2003 C++標準庫的一部分嗎?
- 18. 是否有符合ANSI/ISO標準的Turbo C++?
- 19. 什麼是java中的標準對象?
- 20. 標準輸入中的EOF是什麼?
- 21. 貨幣符號是否有iso標準?
- 22. C標準中命名的宏的每個部分是什麼?
- 23. 什麼是ISO標準目錄01.140.10使用的基本拉丁文字符集?
- 24. xcode中.strings文件中的編譯標記替換是什麼?
- 25. Grails + MongoDB:什麼是isNull標準的替代?
- 26. 什麼是流星反標準化的替代方案?
- 27. 什麼是swift 3中NSTimer.scheduledTimerWithTimeInterval()的替換?
- 28. Angular2中指令的替換是什麼?
- 29. 什麼是RealmSwift中的RLMCollection替換
- 30. 什麼是R中的替換函數?
人們用'__attribute__'做的大多數事情都是非常錯誤和不可移植的(打包/對齊/等等),或者只是優化,當然這些優化當然是不必要的,並且可以簡單地移除以使代碼可移植。在前一種情況下,您需要解決更大的不可移植性問題;只是刪除'__attribute__'是很容易的部分。 –