3
我被檢查由GCC生成的預處理輸出,我看到在我生成使用-save-temps
標誌.i
文件很多這樣的:調試信息
# 8 "/usr/include/i386-linux-gnu/gnu/stubs.h" 2 3 4
之前什麼號碼以及stubs.h
的絕對路徑是什麼意思?它似乎是由預處理器插入的某種調試信息,並允許編譯器發出引用此信息的錯誤消息。這些行不影響程序本身,但每個數字具體是什麼?
我被檢查由GCC生成的預處理輸出,我看到在我生成使用-save-temps
標誌.i
文件很多這樣的:調試信息
# 8 "/usr/include/i386-linux-gnu/gnu/stubs.h" 2 3 4
之前什麼號碼以及stubs.h
的絕對路徑是什麼意思?它似乎是由預處理器插入的某種調試信息,並允許編譯器發出引用此信息的錯誤消息。這些行不影響程序本身,但每個數字具體是什麼?
基於the documentation之前的文件名是行號。在文件名後的數字是一個標誌和含義如下:
1
表示新文件的開始。2
表示返回到文件(包含另一個文件後)。3
表示以下文本來自系統頭文件,因此應該抑制某些警告。4
表示應將以下文本視爲隱藏在隱式外部「C」塊中。
和它表示什麼行號,因爲我看到許多文件包含在相同的行號......我錯過了一些明顯的東西在這裏? – ArunMKumar 2013-05-04 13:02:11
'#1「/usr/include/stdio.h」1 3 4','#28「/usr/include/stdio.h」3 4','#1「/usr/include/features.h」1 3 4','#324「/usr/include/features.h」3 4' – ArunMKumar 2013-05-04 13:02:29
@ArunKumar根據你的標誌,這只是表明一個新的文件被打開 – 2013-05-04 14:08:58