LOG巨集的引數問題
如下定義LOG巨集:
#include <stdio.h>
#define DBG_LOG printf
int main(int argc, char *argv[])
{
int x = 9;
DBG_LOG("x=%d\n", x=(x>5?6:4));
printf("x=%d\n", x);
return 0;
}
想在某模組中取消LOG巨集:
#include <stdio.h>
#define DBG_LOG printf
#undef DBG_LOG
#define DBG_LOG
int main(int argc, char *argv[])
{
int x = 9;
DBG_LOG("x=%d\n", x=(x>5?6:4));
printf("x=%d\n", x);//x == 6, 說明上面的巨集引數列表仍被執行
return 0;
}
防止#undef的巨集引數列表被執行的方法:
#include <stdio.h>
#define DBG_LOG(...) printf(__VA_ARGS__)
#undef DBG_LOG
#define DBG_LOG(...) //printf(__VA_ARGS__)
int main(int argc, char *argv[])
{
int x = 9;
DBG_LOG("x=%d\n", x=(x>5?6:4));
printf("x=%d\n", x);//x == 9
return 0;
}
相關文章
- log4j2同步日誌引發的效能問題
- 巨集定義跟多個引數
- 函式呼叫引數變數傳值的問題函式變數
- 多端引數不統一問題
- libusb:libusb_bulk_transfer的timeout引數問題
- 關於Jmeter引數化的編碼問題JMeter
- innodb_flush_log_at_trx_commit引數的直白理解MIT
- Druid連線池引數maxWait配置錯誤引發的問題UIAI
- mysql relay log相關引數說明MySql
- MySQL relay log 詳細引數解釋MySql
- 解決ajax請求引數過多導致引數被截斷的問題
- Lcust 分散式執行時的引數化問題分散式
- 15.MyBatis傳入多個引數的問題MyBatis
- MySQL中Redo Log相關的重要引數總結MySql
- log4j的基本使用和引數設定
- WPF 解決 CommandParameter 引數不更新問題
- [20231109]bbed p命令dba引數問題.txt
- 17 LOG_ARCHIVE_DEST_n 引數屬性Hive
- js中 函式引數的 傳值/傳引用 問題JS函式
- 記錄解決HttpServletResponse在引數報錯的問題HTTPServlet
- [20221212]關於pre_page_sga引數的問題.txt
- WPS 2019解決不能啟用巨集問題
- 解決Url帶中文引數亂碼問題
- tp6 路由匹配引數獲取問題路由
- 二維陣列作為引數傳遞問題陣列
- Laravel 框架中 whereRaw like 引數繫結問題Laravel框架
- mybatis中mapper.xml檔案引數問題MyBatisAPPXML
- Java中形式引數與返回值問題Java
- 系統引數nofile設定不生效問題
- 解決requests庫中session.verify引數失效的問題Session
- 【求助各位大佬】【急】pytest 動態引數化遇到的問題
- MySQL:Innodb:innodb_flush_log_at_trx_commit引數影響的位置MySqlMIT
- Oracle設定日誌引數-ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;OracleDatabase
- C語言實現可變引數列表的system介面:巨集__VA_ARGS__C語言
- 關於C99可變引數巨集的例項程式碼講解
- CLI模式下Yii2的log問題追蹤模式
- oracle 19c sec_case_sensitive_logon引數問題OracleGo
- vue 新增axios解決post傳引數為null問題VueiOSNull