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

看板C_and_CPP作者 (gauss02)時間3年前 (2020/10/21 17:38), 編輯推噓5(5038)
留言43則, 18人參與, 3年前最新討論串1/1
寫韌體 禁用 C++ ?? 有這樣的說法嗎 ?? 不好意思小弟不才 從事嵌入式系統 近十年 也待過幾家大小公司 只是最近所處的公司 部門調動關係 新主管上任 看到小弟寫的一些(軟體層)程式 C/C++ 混用 就說 不要用 C++ 寫韌體 然後說一些 主管待過的公司 "韌體部門有禁用 C++" 只是覺得奇怪 如果今天寫的是 LINUX driver 或是 kernel 之類的 當然 C 是唯一 (畢竟一開機起來什麼都沒有的環境) 然而 軟體層的部分 應該就還好吧? 只是想問問看 有無先進可以分享一下 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.35.52.48 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1603273112.A.32E.html

10/21 18:17, 3年前 , 1F
c++ 也可以寫 linux driver
10/21 18:17, 1F

10/21 18:19, 3年前 , 2F
我們公司是開發的人決定, 主管不會管這個。
10/21 18:19, 2F

10/21 18:24, 3年前 , 3F
沒考慮過組合語言嗎?
10/21 18:24, 3F

10/21 18:25, 3年前 , 4F
不是不能用 C++ 寫韌體,而是為了某些原因 (例如整個部
10/21 18:25, 4F

10/21 18:25, 3年前 , 5F
門只有你看得懂 C++) 所以不用
10/21 18:25, 5F

10/21 18:27, 3年前 , 6F
是說,韌體裡的軟體層,是屬於韌體,還是軟體@@?
10/21 18:27, 6F

10/21 19:02, 3年前 , 7F
混用是指什麼
10/21 19:02, 7F

10/21 19:22, 3年前 , 8F
第一個問題可能是toolchain對C++的支援是否足夠?
10/21 19:22, 8F

10/21 19:23, 3年前 , 9F
C++的各種自動產生的程式碼也會提高韌體的debug難度
10/21 19:23, 9F

10/21 19:23, 3年前 , 10F
需要追到指令層次的反組譯碼應該會很恐怖 XD
10/21 19:23, 10F

10/21 19:55, 3年前 , 11F
toolchain的支援問題,用C++結果更便宜的料只能用C,公司
10/21 19:55, 11F

10/21 19:55, 3年前 , 12F
會賠錢
10/21 19:55, 12F

10/21 21:17, 3年前 , 13F
混用的話就用C吧...
10/21 21:17, 13F

10/21 21:26, 3年前 , 14F
你會寫才有這個問題
10/21 21:26, 14F

10/21 23:56, 3年前 , 15F
c++ cross參數不過你要免費加班做功德?
10/21 23:56, 15F

10/21 23:57, 3年前 , 16F
而且C++並不是必修,87%人根本只會當C寫
10/21 23:57, 16F

10/22 00:00, 3年前 , 17F
公司沒資源(錢)請人就乖乖依標準做事吧
10/22 00:00, 17F

10/22 00:01, 3年前 , 18F
你開公司要用java perl python也行
10/22 00:01, 18F

10/22 10:00, 3年前 , 19F
因為C++沒有C穩定
10/22 10:00, 19F

10/22 10:00, 3年前 , 20F
底層用C還是比要穩
10/22 10:00, 20F

10/22 12:37, 3年前 , 21F
如果韌體沒移植minix/linux這類小系統
10/22 12:37, 21F

10/22 12:39, 3年前 , 22F
stl使用者會先在exception handler受挫
10/22 12:39, 22F

10/22 12:42, 3年前 , 23F
得轉用別的stlporting像是easystl,ustl
10/22 12:42, 23F

10/22 12:43, 3年前 , 24F
純軟體被禁用就只是避免維護困難
10/22 12:43, 24F

10/22 14:09, 3年前 , 25F
不懂, STL 跟 exception 的關係是?
10/22 14:09, 25F

10/23 10:44, 3年前 , 26F
可以試看看在uefi用g++ build 最需要克服的是STL
10/23 10:44, 26F

10/23 12:23, 3年前 , 27F
沒有
10/23 12:23, 27F

10/24 14:55, 3年前 , 28F
因為C++ ABI不stable
10/24 14:55, 28F

10/24 14:56, 3年前 , 29F
10/24 14:56, 29F

10/24 22:44, 3年前 , 30F
超討厭寫C++...
10/24 22:44, 30F

10/25 12:06, 3年前 , 31F
沒第三方 binary 要 ABI stable 幹嘛
10/25 12:06, 31F

10/25 22:50, 3年前 , 32F
不是沒有,只是真的少
10/25 22:50, 32F

10/25 22:55, 3年前 , 33F
靠硬體那側的fw通常沒人會刻意寫c++控制硬體暫存器,小
10/25 22:55, 33F

10/25 22:55, 3年前 , 34F
系統比方說跑在PIC/stm32等級的軟體側通常也不會刻意用
10/25 22:55, 34F

10/25 22:55, 3年前 , 35F
c++,除非軟體功能整個專案從0開始做
10/25 22:55, 35F

10/25 22:57, 3年前 , 36F
但也不是真的完全沒有人弄啦,這就要看專案發展怎麼搞.
10/25 22:57, 36F

10/25 22:57, 3年前 , 37F
..
10/25 22:57, 37F

10/25 22:59, 3年前 , 38F
如果是弄在嵌入式的linux ap用c++寫很常見就是了
10/25 22:59, 38F

10/26 00:34, 3年前 , 39F
話說嵌入式似乎開始要把Rust導入到商用產品了
10/26 00:34, 39F

10/26 18:09, 3年前 , 40F
arm自己的那個rtos用c++吧
10/26 18:09, 40F

10/27 00:02, 3年前 , 41F
c++還有個問題就是 link libstdc++比link glibc大很多
10/27 00:02, 41F

10/27 00:02, 3年前 , 42F
如果你系統不是寸土寸金的話就比較沒差就是了....
10/27 00:02, 42F

10/27 00:03, 3年前 , 43F
這可不是只有佔儲存空間 而且記憶體空間也有差
10/27 00:03, 43F
文章代碼(AID): #1Va06OCk (C_and_CPP)