在 VS2013 中定義 __STDC_LIB_EXT1__ 後,條件編譯仍進入 #else 分支,顯示「optional functions are not defined.」。
__STDC_LIB_EXT1__(雙底線),而非 STDC_LIB_EXT1。#define __STDC_LIB_EXT1__ 1。/D __STDC_LIB_EXT1__。#define __STDC_LIB_EXT1__ 1
#include <stdio.h>
int main(void) {
#if defined(__STDC_LIB_EXT1__)
printf_s("optional functions are defined.\n");
#else
printf_s("optional functions are not defined.\n");
#endif
getchar();
return 0;
}
若輸出「defined」,即表示環境已正確啟用 C11 擴展函數。