[討論] 寫韌體 禁用 C++ ?? 有這樣的說法嗎 ??

作者: gauss02 (gauss02)   2020-10-21 17:38:30
寫韌體 禁用 C++ ?? 有這樣的說法嗎 ??
不好意思小弟不才
從事嵌入式系統 近十年
也待過幾家大小公司
只是最近所處的公司 部門調動關係 新主管上任
看到小弟寫的一些(軟體層)程式 C/C++ 混用
就說 不要用 C++ 寫韌體
然後說一些 主管待過的公司 "韌體部門有禁用 C++"
只是覺得奇怪 如果今天寫的是
LINUX driver 或是 kernel 之類的
當然 C 是唯一 (畢竟一開機起來什麼都沒有的環境)
然而 軟體層的部分 應該就還好吧?
只是想問問看
有無先進可以分享一下
謝謝
作者: descent (「雄辯是銀,沉默是金」)   2020-10-21 18:17:00
c++ 也可以寫 linux driver
作者: jacky1989   2020-10-21 18:24:00
沒考慮過組合語言嗎?
作者: Lipraxde (Lipraxde)   2020-10-21 18:25:00
不是不能用 C++ 寫韌體,而是為了某些原因 (例如整個部門只有你看得懂 C++) 所以不用是說,韌體裡的軟體層,是屬於韌體,還是軟體@@?
作者: chuegou (chuegou)   2020-10-21 19:02:00
混用是指什麼
作者: james732 (好人超)   2020-10-21 19:22:00
第一個問題可能是toolchain對C++的支援是否足夠?C++的各種自動產生的程式碼也會提高韌體的debug難度需要追到指令層次的反組譯碼應該會很恐怖 XD
作者: ketrobo (貓蘿蔔)   2020-10-21 19:55:00
toolchain的支援問題,用C++結果更便宜的料只能用C,公司會賠錢
作者: final01 (牛頓運動定律)   2020-10-21 21:17:00
混用的話就用C吧...
作者: loveme00835 (髮箍)   2020-10-21 21:26:00
你會寫才有這個問題
作者: kingofsdtw (不能閒下來!!)   2020-10-21 23:56:00
c++ cross參數不過你要免費加班做功德?而且C++並不是必修,87%人根本只會當C寫公司沒資源(錢)請人就乖乖依標準做事吧你開公司要用java perl python也行
作者: MartinJ40 (Martin J-40)   2020-10-22 10:00:00
因為C++沒有C穩定底層用C還是比要穩
作者: sunneo (艾斯寇德)   2020-10-22 12:37:00
如果韌體沒移植minix/linux這類小系統stl使用者會先在exception handler受挫得轉用別的stlporting像是easystl,ustl純軟體被禁用就只是避免維護困難
作者: loveme00835 (髮箍)   2020-10-22 14:09:00
不懂, STL 跟 exception 的關係是?
作者: sunneo (艾斯寇德)   2020-10-23 10:44:00
可以試看看在uefi用g++ build 最需要克服的是STL
作者: F04E (Fujitsu)   2020-10-23 12:23:00
沒有
作者: mrtzou (Nick)   2020-10-24 14:55:00
因為C++ ABI不stablehttps://reurl.cc/pypG0b
作者: hhashoww (人生處處充滿驚奇)   2020-10-24 22:44:00
超討厭寫C++...
作者: tinlans ( )   2020-10-25 12:06:00
沒第三方 binary 要 ABI stable 幹嘛
作者: alex70266 (小眼)   2020-10-25 22:50:00
不是沒有,只是真的少靠硬體那側的fw通常沒人會刻意寫c++控制硬體暫存器,小系統比方說跑在PIC/stm32等級的軟體側通常也不會刻意用c++,除非軟體功能整個專案從0開始做但也不是真的完全沒有人弄啦,這就要看專案發展怎麼搞...如果是弄在嵌入式的linux ap用c++寫很常見就是了
作者: james732 (好人超)   2020-10-26 00:34:00
話說嵌入式似乎開始要把Rust導入到商用產品了
作者: zxzx8059 (zxzx8059)   2020-10-26 18:09:00
arm自己的那個rtos用c++吧
作者: Killercat (殺人貓™)   2020-10-27 00:02:00
c++還有個問題就是 link libstdc++比link glibc大很多如果你系統不是寸土寸金的話就比較沒差就是了....這可不是只有佔儲存空間 而且記憶體空間也有差
作者: CoNsTaR ((const *))   2020-11-02 00:09:00
因為改用 Rust 了(X
作者: WPC001 (好悶, 迷惘~~)   2020-11-23 22:55:00
真的寫C++(並非當成C來寫),保證肥大... 你主管是對的對MCU而言,code size就等於競爭力... 直接禁用才是對的MCU的libc常常都是用new lib / nano / pico...不能接受C++

Links booklink

Contact Us: admin [ a t ] ucptt.com