關(guān)閉

最后一個(gè)bug

所屬頻道 公眾號(hào)精選
  • 不要只成為PID調(diào)參工程師

    PID是一種非常經(jīng)典的控制類(lèi)算法,憑著它的簡(jiǎn)單易用在工程上得到了廣泛的應(yīng)用,并且影響力也是極高,那為什么說(shuō)其簡(jiǎn)單易用呢?可以說(shuō)只要你對(duì)PID的主要的參數(shù)對(duì)系統(tǒng)的影響理解得足夠好,完全可以通過(guò)手動(dòng)試湊的方式來(lái)獲得一套合適的PID參考,所以對(duì)一些非控制類(lèi)的工程師應(yīng)用起來(lái)也是非常友好的。

  • C語(yǔ)言X-MACRO宏使用技巧

    今天分享一個(gè)C語(yǔ)言宏定義小技巧,從語(yǔ)法上來(lái)看比較簡(jiǎn)單,不過(guò)一旦真正領(lǐng)悟到其精妙之處不僅可以簡(jiǎn)化代碼、還能提高代碼的可擴(kuò)展性。X-MACRO宏技術(shù)的核心在于靈活的應(yīng)用#define與#undef,對(duì)于玩C語(yǔ)言的伙計(jì)#define是再熟悉不過(guò)了,但#undef卻鮮有人在實(shí)際的開(kāi)發(fā)過(guò)程中熟練使用,基本上都是#define走天下。那#define的作用域是怎樣的呢?其作用范圍都是從宏定義處到文件結(jié)束,不管函數(shù)內(nèi)外均可以隨意使用。那一不小心使用#define重復(fù)定義相同的宏又會(huì)怎樣呢?對(duì)于大部分編譯器會(huì)報(bào)重復(fù)定義警告,但也有小部分編譯器采用最近的宏定義直接通過(guò),所以稍不留神就把bug引入到了代碼中。其實(shí)對(duì)于C語(yǔ)言編程素養(yǎng)良好的工程師們多會(huì)使用#undef來(lái)限制宏定義的作用范圍,即取消宏定義,以免造成宏泛濫。

簡(jiǎn)介
一個(gè)嵌入式技術(shù)進(jìn)階公眾號(hào),定期分享C語(yǔ)言, C++、MCU (如stm32等)、DSP、 ARM、嵌入式Linux等"獨(dú)[門(mén)”軟件設(shè)計(jì)技巧和知識(shí)歸納總結(jié),同時(shí)分享應(yīng)用程序設(shè)計(jì)、物聯(lián)網(wǎng)、濾波及控制算法推導(dǎo)和仿真設(shè)計(jì)等嵌入式硬核知識(shí)技巧!歡迎大家關(guān)注!
關(guān)注他的人
  • liqinglong1023