日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C 预处理器 —— __DATE__ # __TIME__ # __FILE__ # __LINE__ # __STDC__ (预处理宏的使用 —— 打印debug信息:)

發布時間:2025/10/17 编程问答 6 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C 预处理器 —— __DATE__ # __TIME__ # __FILE__ # __LINE__ # __STDC__ (预处理宏的使用 —— 打印debug信息:) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

預定義宏:

ANSI C 定義了許多宏。在編程中您可以使用這些宏,但是不能直接修改這些預定義的宏。
宏?? ?描述
__DATE__?? ?當前日期,一個以 "MMM DD YYYY" 格式表示的字符常量。
__TIME__?? ?當前時間,一個以 "HH:MM:SS" 格式表示的字符常量。
__FILE__?? ?這會包含當前文件名,一個字符串常量。
__LINE__?? ?這會包含當前行號,一個十進制常量。
__STDC__?? ?當編譯器以 ANSI 標準編譯時,則定義為 1。

實例演示:

//[root@J01051386 function]# cat line.c #include <stdio.h> int main() {printf("File:%s\n",__FILE__);printf("Date:%s\n",__DATE__);printf("Time:%s\n",__TIME__);printf("Line:%d\n",__LINE__);printf("Ansi:%d\n",__STDC__);printf("%s\n",__func__); }

執行過程以及結果:

[root@J01051386 function]# gcc line.c [root@J01051386 function]# ./a.out File:line.c Date:Nov 2 2018 Time:15:33:30 Line:7 Ansi:1 main

預處理宏的使用 —— 打印debug信息:

//定義:debug打印規則// //[root@J01051386 user_mgr]# cat debug.h #define __DEBUG 1 #if __DEBUG#define DEBUG_PRINT(fmt, ...) printf("Debug-- File: "__FILE__", Line: %05d, Function: %s: " , __LINE__,__FUNCTION__ );printf(fmt, ##__VA_ARGS__);printf("\n") #else#define DEBUG_PRINT(fmt, ...) #endif //引用:使用.h文件定義的函數// //執行cat命令 [root@J01051386 user_mgr]# vim io.c +535 //查看到的結果如下顯示 535 DEBUG_PRINT("%s\n", sql); //sql的值是select id, name, remark, grouname from user_resource //執行結果顯示: 與定義相對應 Debug-- File: io.c, Line: 00535, Function: readfromdb2: select id, name, remark, grouname from user_resource

?

總結

以上是生活随笔為你收集整理的C 预处理器 —— __DATE__ # __TIME__ # __FILE__ # __LINE__ # __STDC__ (预处理宏的使用 —— 打印debug信息:)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。