輸出原始檔的標題,目前執行行的行數,編譯時間

2021-07-09 11:52:40 字數 505 閱讀 4776

昨天蘋蘋讓我看了我一道面試的試題,我覺得挺經典的,自己經常在使用,但是單獨拿出來問,自己卻還真的不知所措。

下面就以下的問題,我用**實現一下。

輸出原始檔的標題,目前執行行的行數,編譯的日期,編譯的時間。

linux下實現:

linux下實現

#include 

intmain()

windows下實現:

windows下實現

#include 

intmain()

上面用linux和windows兩種環境進行了測試,他們的函式還是有區別的,例如wingdows下有 __timestamp__這個變數,而linux下沒有。還有__file__這個變數在linux下的執行結果直接是檔名,而windows下這個變數的結果為其具體的路徑。

以上的這兩個例子我覺得主要運用在對原始檔的除錯中,如果使用者的程式在執行過程中出錯,可以將這些出錯資訊通過e-mail傳送給程式設計師,程式設計師能夠迅速的定位**的出錯位置。

如何輸出原始檔的標題和目前執行行的行數

以下是 源 截圖 這主要是運用了 ansi c和microsoft c 預先定義的一些巨集來實現的。不止這兩個,還有下面這些比較常用的 1 date 當前檔案的編譯日期。與在 time.h中定義的 asctime函式返回的格式一樣,即是mmm dd yyyy 月 日 年 2 file 當前原始檔的名...

如何輸出原始檔的標題和目前執行行的行數(面試題)

題目 如何輸出原始檔的標題和目前執行行的行數 答案 int line line char file file cout line 在源 中插入當前源 行號 file 在原始檔中插入當前源檔名 date 在原始檔中插入當前的編譯日期 time 在原始檔中插入當前編譯時間 stdc 當要求程式嚴格遵循a...

C原始檔到可執行檔案的過程

一 c原始檔到可執行檔案共經歷了4個過程。在使用gcc編譯程式時,編譯過程可以被細分為四個階段,包括預處理 編譯 彙編 鏈結。1 預處理 在預處理階段,編譯器主要作載入標頭檔案 巨集替換 條件編譯的作用。一般處理帶 的語句。我們可以通過gcc 的 e 選項進行檢視,如下所示 root localho...