- 主题:st想法很棒但软件真垃圾
Linux kernel跟嵌入式还是不太一样的。
嵌入式开发,zero cost abstraction很重要,Linux kernel不太需要太在意这个问题。或者说只有关键的地方才需要注意,总是可以用复杂的宏或者其他的奇技淫巧搞定的
【 在 wjie 的大作中提到: 】
: linux内核2000万行不都是C吗?还要更大?
:
--
修改:lvsoft FROM 39.144.157.*
FROM 39.144.157.*
你就是资本家啊, 立场不同了...
【 在 lvsoft 的大作中提到: 】
我已经100%用rust开发了,现在很爽
跟这些原厂sdk彻底拜拜
强烈安利。入门门槛在ai时代不是问题,有啥问题丢给ai解决就行
【 在 tom6bj 的大作中提到: 】
: c++也在进化啊
: 许多在0x/11时代看着象鬼画符的写法, 在17/20/23时代已经有漂亮优雅的更新了
: c的问题主要是规模大到一定程度就没法写了, gtk之类等于是用c把面向对象那些东西重新实现了一遍
: ...................
--
修改:lvsoft FROM 39.144.157.*
FROM 222.129.0.*
鬼的资本家...
我自己给自己打工好不好...
而且请rust的人估计会比较贵...
【 在 tom6bj 的大作中提到: 】
: 你就是资本家啊, 立场不同了...
: 我已经100%用rust开发了,现在很爽
: 跟这些原厂sdk彻底拜拜
: ...................
--
FROM 180.158.48.*
从长期看是便宜的
【 在 lvsoft 的大作中提到: 】
: 鬼的资本家...
: 我自己给自己打工好不好...
: 而且请rust的人估计会比较贵...
: ...................
--
FROM 124.250.119.*
MX早期版本是java做的,现在不是了
证据就是我没有java虚拟机上的MX是可以运行最新MX的
不过垃圾是真的,我现在只有设计硬件阶段用用分配pin,真用ST的做固件,那就是2
【 在 secondjet 的大作中提到: 】
: 因为是java编的,同样的我曾经用过silicon lab的一个写芯片固件的小软件,老版本是VS编的运行巨快且秒开体积只有几百k,后来不知道怎么脑残开始用java编,一个小软件竟然几十M打开就需要好几秒。
:
--
FROM 121.231.128.*
我真心建议C的编译器用rust的安全标准重写一遍,不要盲目安利rust,语法明显没有C严谨,就一个return能省略就让我相当不爽
【 在 lvsoft 的大作中提到: 】
: Linux kernel跟嵌入式还是不太一样的。
: 嵌入式开发,zero cost abstraction很重要,Linux kernel不太需要太在意这个问题。或者说只有关键的地方才需要注意,总是可以用复杂的宏或者其他的奇技淫巧搞定的
: :
--
FROM 121.231.128.*
谁说return能省略了?
return a+b;
和
a+b
你仔细看看,这两个完全不是一回事好嘛。
前者是一个statement,后者是一个expression。statement一定有分号结尾,expression一定不能有分号。
两者能使用的场合也是完全不同的。statement是过程式的风格,而expression是函数式的风格。rust鼓励函数式的风格,但对过程式也做了兼顾。它不鼓励你用return,但如果你用了return,那这个函数就是过程式的。这可不是return能省略这么简单。
不信你在if then else里面省略其中一个分支的return试试看,看看编译器让不让过。
rust在各方面都非常的严谨,而且这个严谨是深入它的设计哲学的。如果你觉得你发现了它哪里不严谨,别怀疑,肯定是你错了。
【 在 dismoon 的大作中提到: 】
: 我真心建议C的编译器用rust的安全标准重写一遍,不要盲目安利rust,语法明显没有C严谨,就一个return能省略就让我相当不爽
:
--
修改:lvsoft FROM 180.158.48.*
FROM 180.158.48.*
你说的不是我说的意思
比如你用rust写一段I2C代码
GPIOA.1是时钟
GPIOA.2是数据
你要返回2的数据,但是又要把时钟1拉高
而且时钟拉高必须要在2之后
那这个语法就很麻烦,形成省略习惯之后就是返回时钟
还是老实每次都写return,说明要返回什么值比较好
【 在 lvsoft 的大作中提到: 】
: 谁说return能省略了?
: return a+b;
: 和
: ...................
--
FROM 121.231.128.*
我不理解你在说什么...
这个不就是
gpioa2.set_low/high();
然后gpioa1.set_high();
跟return有啥关系?
【 在 dismoon 的大作中提到: 】
: 你说的不是我说的意思
: 比如你用rust写一段I2C代码
: GPIOA.1是时钟
: ...................
--
FROM 180.158.48.*
噢我知道了,你要返回读到的数据同时还要拉高时钟是吧。
那这个多大事,c下面也得这么做啊。
【 在 lvsoft 的大作中提到: 】
: 我不理解你在说什么...
: 这个不就是
: gpioa2.set_low/high();
: ...................
--
FROM 180.158.48.*