- 主题:嵌入式开发、物联网,是用c?还是c++?
我猜,他想问的是,同样功能实现,c编译出来的目标文件运行的时候占用多少内存,与rust对应的目标文件的对比。
只是没说清楚。以stm32系列,,,可能在各位大佬眼里太low的,,,嵌入式平台来说,内存基本都是几十或者一百来KB的,rust应该不现实吧。
【 在 ABCDEFGHJKLM 的大作中提到: 】
: 不是可以交叉编译吗, 谁会在嵌入式环境里面编译
: 那编译器呢?c的编译器占多少内存?rust的编译器占多少内存?你开发过什么嵌入式产品?方便截图看看吗?
--
FROM 114.255.72.*
嵌入式只是一个笼统的概念性描述。实际行业、产品差别巨大。
没必要一概而论。嵌入式这个概念,我理解就是定制化的功能软硬件结合体。
语言、硬件只是工具的一部分,需求才是第一位的,一切软硬件还是根据需求来确定用啥平台,用啥语言开发。
【 在 feng321 的大作中提到: 】
感觉嵌入式里面,还是用c好啊。c++一般用在什么地方呢?
--
FROM 114.255.72.*
谢谢科普,相信rust肯定有一套很完整的工具,否则您也不会这样推崇。
我得抽时间看看,跟上时代。哈哈哈
不过总觉得C已经是很直接的语言了。再抽象的前提下肯定需要解析,这类语言从内存到目标文件的flash占用,在工控领域这样的单片机横行的地方,估计很难。比如128KB flash 32KB的ram,这样比较经典的stm32F3、stm32F4系列处理器上,我用C已经各种节省才勉强能实现功能。rust恐怕不太现实吧?
【 在 milksea 的大作中提到: 】
: no_std 和裸 c 是一样的;有堆分配器实现个 alloc 还能用容器挺好;有 std 的话 rust 要依赖 c runtime,占用和 c++ 应该相当。
: 工具链方面,llvm能支持就差不多。rust c book 有一章是支持的目标列表。rtos这种可能是不支持的,bare metal反而有一些支持。
--
FROM 114.255.72.*
能问下,为什么你这样大力推rust吗?
【 在 z16166 的大作中提到: 】
: no_std时,直接调用HAL,stm32f3xx-hal、stm32f4xx-hal等都是开源的,代码也可以很小
: 试了才知道
:
--
FROM 114.255.72.*