http://blog.chinaunix.net/uid-223060-id-2127127.html
2007
嵌入式編程基本上都是c的天下,事實(shí)上,如果你嘗試一下使用c++的話,會(huì)發(fā)現(xiàn)能省很多事情,程序也更加清晰。但為什么很多人都覺(jué)得c++不適合嵌入式編程呢?答案很簡(jiǎn)單,你用的特性太多了。
其實(shí),即使在對(duì)即時(shí)性要求非常嚴(yán)格的嵌入式系統(tǒng)中,c++也能很好的工作,只是一般來(lái)說(shuō)最好限制以下特性:
- 少進(jìn)行動(dòng)態(tài)內(nèi)存分配(new,delete,malloc,free)
- 不進(jìn)行run time type information(RTTI)
- 不允許使用虛函數(shù)
- 不允許模板編程
這樣可以增加程序的健壯性和速度。那么c++能夠給我們帶來(lái)的好處是:
- 能夠使用引用來(lái)代替指針,這樣大大增強(qiáng)程序的健壯性
- 用類(lèi)的方法來(lái)保證對(duì)模塊內(nèi)部變量的保護(hù),減少非常容易出錯(cuò)的令人惱火的外部申明
- 能用構(gòu)造來(lái)確保合適的初始化模塊
其實(shí)c++最主要的缺陷就是對(duì)內(nèi)存的占用稍微有些大,這主要是因?yàn)閏++環(huán)境的初始化更加復(fù)雜。但是如果按照以上的原則的話,基本上是沒(méi)有什么執(zhí)行時(shí)期消耗的,寫(xiě)出來(lái)的程序目的很明晰,健壯,比如你做硬件接口的話,比用純c效果要好得多。
歡迎討論。
聯(lián)系客服