簡體   English   中英

宏_bnd(X,bnd)是什么意思?

[英]What does the macro _bnd(X,bnd) mean?

最近,我讀到有人使用宏_bnd(x,bnd)實現自己的printf,但是我不明白該宏的含義。

#define _bnd(x, bnd) (sizeof(x) + (bnd) & ~(bnd))

我知道按位運算符和sizeof()

這是內部實現的魔力,它與變量參數函數的參數地址的實現相關屬性有關。

除非您需要了解所有含義,否則最好遠離它。 否則,它可能會誘使您依靠它。

你的宏應該是

#define _bnd(X, bnd) (sizeof(X) + (bnd) & ~(bnd))
             ^
             check in your post

您也可以通過擴展基本算術運算來知道這一點。為此,您應該知道sizeof()代字號運算符以及按位運算

暫無
暫無

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

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