簡體   English   中英

提供默認值到配置宏

[英]Provide default values to config macros

我使用一些宏( #define )作為編譯時配置常量。

#define WS_T_1H  700
#define WS_T_1L  150
#define WS_T_0H  150
#define WS_T_0L  700
#define WS_LATCH_NS 6000

這些在我的頭文件中。

但是,我希望允許用戶在包含它們時覆蓋它們-到目前為止,我已經有了它,但是它非常冗長和丑陋。

#ifndef WS_T_1H
#define WS_T_1H  700
#endif

#ifndef WS_T_1L
#define WS_T_1L  150
#endif

#ifndef WS_T_0H
#define WS_T_0H  150
#endif

#ifndef WS_T_0L
#define WS_T_0L  700
#endif

#ifndef WS_LATCH_NS
#define WS_LATCH_NS 6000
#endif

我想知道這是正確的方法嗎? 這是“最佳實踐”嗎?

這是C語言的標准用法。如果您不喜歡編寫這樣的代碼(很多人不喜歡),則可以學習autoconf,它提供了另一種定義宏默認值的語法。 然后,autoconf將為您編寫慣用的C代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM