推 CaptainH: 在沒有 static_assert 之前常常這麼做 08/27 22:59
通常為了節省檔案空間 有的時候會這樣做 (MSVC only)
http://www.virtualbox.org/svn/vbox/trunk/src/VBox/Devices/EFI/Firmware/BaseTools/Source/C/Include/Ia32/ProcessorBind.h
http://goo.gl/al9PXI
#if _MSC_EXTENSIONS
#define GLOBAL_REMOVE_IF_UNREFERENCED __declspec(selectany)
#else
#define GLOBAL_REMOVE_IF_UNREFERENCED
#endif
#define VERIFY_CONDITION2(condition) \
char _VerifyCondition##__LINE__[ \
(condition) / (condition) \
]
GLOBAL_REMOVE_IF_UNREFERENCED VERIFY_CONDITION2 (sizeof(BOOLEAN) == 1);
但是我還是覺得原始的 extern 是一絕, 既省空間又有相容性
※ 編輯: chrisdar (180.176.173.209), 08/27/2014 23:27:14
→ Killercat: 主要就是把原來的0改成負值即可 08/28 00:20