2014-10-05 56 views
1

昨天我試圖在我的工作樹中注入編譯錯誤。通常我使用#error來生成編譯錯誤。但我嘗試了#1,但它不起作用。這可能是什麼原因?上的# 1等主題模擬編譯錯誤

t1.c 
    #include <stdio.h> 
    int main(){ 
      #error 
    } 

**compilation error** 
t1.c:3:3: error: 
     #error 
t2.c 
    #include <stdio.h> 
    int main(){ 
     #1 
    } 

But there is no compilation error in t2.c 

回答

5

變化由C預處理作爲#line 1的簡寫生成。

這是非標準的,但常見的。

您可以在gcc -E或僅運行預處理器的類似選項的輸出中看到它。