日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

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

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

預(yù)定義宏:

ANSI C 定義了許多宏。在編程中您可以使用這些宏,但是不能直接修改這些預(yù)定義的宏。
宏?? ?描述
__DATE__?? ?當(dāng)前日期,一個(gè)以 "MMM DD YYYY" 格式表示的字符常量。
__TIME__?? ?當(dāng)前時(shí)間,一個(gè)以 "HH:MM:SS" 格式表示的字符常量。
__FILE__?? ?這會(huì)包含當(dāng)前文件名,一個(gè)字符串常量。
__LINE__?? ?這會(huì)包含當(dāng)前行號(hào),一個(gè)十進(jìn)制常量。
__STDC__?? ?當(dāng)編譯器以 ANSI 標(biāo)準(zhǔn)編譯時(shí),則定義為 1。

實(shí)例演示:

//[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__); }

執(zhí)行過程以及結(jié)果:

[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

預(yù)處理宏的使用 —— 打印debug信息:

//定義:debug打印規(guī)則// //[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文件定義的函數(shù)// //執(zhí)行cat命令 [root@J01051386 user_mgr]# vim io.c +535 //查看到的結(jié)果如下顯示 535 DEBUG_PRINT("%s\n", sql); //sql的值是select id, name, remark, grouname from user_resource //執(zhí)行結(jié)果顯示: 與定義相對(duì)應(yīng) Debug-- File: io.c, Line: 00535, Function: readfromdb2: select id, name, remark, grouname from user_resource

?

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。