作者:
gauss02 (gauss02)
2020-10-21 17:38:30寫韌體 禁用 C++ ?? 有這樣的說法嗎 ??
不好意思小弟不才
從事嵌入式系統 近十年
也待過幾家大小公司
只是最近所處的公司 部門調動關係 新主管上任
看到小弟寫的一些(軟體層)程式 C/C++ 混用
就說 不要用 C++ 寫韌體
然後說一些 主管待過的公司 "韌體部門有禁用 C++"
只是覺得奇怪 如果今天寫的是
LINUX driver 或是 kernel 之類的
當然 C 是唯一 (畢竟一開機起來什麼都沒有的環境)
然而 軟體層的部分 應該就還好吧?
只是想問問看
有無先進可以分享一下
謝謝
作者:
descent (「雄辯是銀,沉默是金」)
2020-10-21 18:17:00c++ 也可以寫 linux driver
作者:
Lipraxde (Lipraxde)
2020-10-21 18:25:00不是不能用 C++ 寫韌體,而是為了某些原因 (例如整個部門只有你看得懂 C++) 所以不用是說,韌體裡的軟體層,是屬於韌體,還是軟體@@?
作者:
chuegou (chuegou)
2020-10-21 19:02:00混用是指什麼
第一個問題可能是toolchain對C++的支援是否足夠?C++的各種自動產生的程式碼也會提高韌體的debug難度需要追到指令層次的反組譯碼應該會很恐怖 XD
作者:
ketrobo (貓蘿蔔)
2020-10-21 19:55:00toolchain的支援問題,用C++結果更便宜的料只能用C,公司會賠錢
作者:
final01 (牛頓運動定律)
2020-10-21 21:17:00混用的話就用C吧...
作者:
kingofsdtw (ä¸èƒ½é–’下來!!)
2020-10-21 23:56:00c++ 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純軟體被禁用就只是避免維護困難
不懂, 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
作者:
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++寫很常見就是了
作者:
zxzx8059 (zxzx8059)
2020-10-26 18:09:00arm自己的那個rtos用c++吧
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++