作者gauss02 (gauss02)
看板C_and_CPP
标题[讨论] 写韧体 禁用 C++ ?? 有这样的说法吗 ??
时间Wed Oct 21 17:38:30 2020
写韧体 禁用 C++ ?? 有这样的说法吗 ??
不好意思小弟不才
从事嵌入式系统 近十年
也待过几家大小公司
只是最近所处的公司 部门调动关系 新主管上任
看到小弟写的一些(软体层)程式 C/C++ 混用
就说 不要用 C++ 写韧体
然後说一些 主管待过的公司 "韧体部门有禁用 C++"
只是觉得奇怪 如果今天写的是
LINUX driver 或是 kernel 之类的
当然 C 是唯一 (毕竟一开机起来什麽都没有的环境)
然而 软体层的部分 应该就还好吧?
只是想问问看
有无先进可以分享一下
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.35.52.48 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1603273112.A.32E.html
1F:→ descent: c++ 也可以写 linux driver 10/21 18:17
2F:→ descent: 我们公司是开发的人决定, 主管不会管这个。 10/21 18:19
3F:→ jacky1989: 没考虑过组合语言吗? 10/21 18:24
4F:→ Lipraxde: 不是不能用 C++ 写韧体,而是为了某些原因 (例如整个部 10/21 18:25
5F:→ Lipraxde: 门只有你看得懂 C++) 所以不用 10/21 18:25
6F:→ Lipraxde: 是说,韧体里的软体层,是属於韧体,还是软体@@? 10/21 18:27
7F:推 chuegou: 混用是指什麽 10/21 19:02
8F:→ james732: 第一个问题可能是toolchain对C++的支援是否足够? 10/21 19:22
9F:→ james732: C++的各种自动产生的程式码也会提高韧体的debug难度 10/21 19:23
10F:→ james732: 需要追到指令层次的反组译码应该会很恐怖 XD 10/21 19:23
11F:→ ketrobo: toolchain的支援问题,用C++结果更便宜的料只能用C,公司 10/21 19:55
12F:→ ketrobo: 会赔钱 10/21 19:55
13F:→ final01: 混用的话就用C吧... 10/21 21:17
14F:→ loveme00835: 你会写才有这个问题 10/21 21:26
15F:→ kingofsdtw: c++ cross参数不过你要免费加班做功德? 10/21 23:56
16F:→ kingofsdtw: 而且C++并不是必修,87%人根本只会当C写 10/21 23:57
17F:推 kingofsdtw: 公司没资源(钱)请人就乖乖依标准做事吧 10/22 00:00
18F:→ kingofsdtw: 你开公司要用java perl python也行 10/22 00:01
19F:推 MartinJ40: 因为C++没有C稳定 10/22 10:00
20F:→ MartinJ40: 底层用C还是比要稳 10/22 10:00
21F:→ sunneo: 如果韧体没移植minix/linux这类小系统 10/22 12:37
22F:→ sunneo: stl使用者会先在exception handler受挫 10/22 12:39
23F:→ sunneo: 得转用别的stlporting像是easystl,ustl 10/22 12:42
24F:→ sunneo: 纯软体被禁用就只是避免维护困难 10/22 12:43
25F:→ loveme00835: 不懂, STL 跟 exception 的关系是? 10/22 14:09
26F:→ sunneo: 可以试看看在uefi用g++ build 最需要克服的是STL 10/23 10:44
27F:→ F04E: 没有 10/23 12:23
28F:推 mrtzou: 因为C++ ABI不stable 10/24 14:55
30F:推 hhashoww: 超讨厌写C++... 10/24 22:44
31F:→ tinlans: 没第三方 binary 要 ABI stable 干嘛 10/25 12:06
32F:→ alex70266: 不是没有,只是真的少 10/25 22:50
33F:→ alex70266: 靠硬体那侧的fw通常没人会刻意写c++控制硬体暂存器,小 10/25 22:55
34F:→ alex70266: 系统比方说跑在PIC/stm32等级的软体侧通常也不会刻意用 10/25 22:55
35F:→ alex70266: c++,除非软体功能整个专案从0开始做 10/25 22:55
36F:→ alex70266: 但也不是真的完全没有人弄啦,这就要看专案发展怎麽搞. 10/25 22:57
37F:→ alex70266: .. 10/25 22:57
38F:→ alex70266: 如果是弄在嵌入式的linux ap用c++写很常见就是了 10/25 22:59
39F:→ james732: 话说嵌入式似乎开始要把Rust导入到商用产品了 10/26 00:34
40F:→ zxzx8059: arm自己的那个rtos用c++吧 10/26 18:09
41F:→ Killercat: c++还有个问题就是 link libstdc++比link glibc大很多 10/27 00:02
42F:→ Killercat: 如果你系统不是寸土寸金的话就比较没差就是了.... 10/27 00:02
43F:→ Killercat: 这可不是只有占储存空间 而且记忆体空间也有差 10/27 00:03
44F:推 CoNsTaR: 因为改用 Rust 了(X 11/02 00:09
45F:→ WPC001: 真的写C++(并非当成C来写),保证肥大... 你主管是对的 11/23 22:55
46F:→ WPC001: 对MCU而言,code size就等於竞争力... 直接禁用才是对的 11/23 22:56
47F:→ WPC001: MCU的libc常常都是用new lib / nano / pico...不能接受C++ 11/23 22:57