PID是一種非常經(jīng)典的控制類算法,憑著它的簡單易用在工程上得到了廣泛的應(yīng)用,并且影響力也是極高,那為什么說其簡單易用呢?可以說只要你對PID的主要的參數(shù)對系統(tǒng)的影響理解得足夠好,完全可以通過手動試湊的方式來獲得一套合適的PID參考,所以對一些非控制類的工程師應(yīng)用起來也是非常友好的。
今天分享一個C語言宏定義小技巧,從語法上來看比較簡單,不過一旦真正領(lǐng)悟到其精妙之處不僅可以簡化代碼、還能提高代碼的可擴展性。X-MACRO宏技術(shù)的核心在于靈活的應(yīng)用#define與#undef,對于玩C語言的伙計#define是再熟悉不過了,但#undef卻鮮有人在實際的開發(fā)過程中熟練使用,基本上都是#define走天下。那#define的作用域是怎樣的呢?其作用范圍都是從宏定義處到文件結(jié)束,不管函數(shù)內(nèi)外均可以隨意使用。那一不小心使用#define重復(fù)定義相同的宏又會怎樣呢?對于大部分編譯器會報重復(fù)定義警告,但也有小部分編譯器采用最近的宏定義直接通過,所以稍不留神就把bug引入到了代碼中。其實對于C語言編程素養(yǎng)良好的工程師們多會使用#undef來限制宏定義的作用范圍,即取消宏定義,以免造成宏泛濫。