- 主题:C语言的优势是啥?
指针直接操作内存啊
--
FROM 119.132.39.*
这有啥好处?更加直接高效?
【 在 howmoney (howmoney) 的大作中提到: 】
: 指针直接操作内存啊
--
FROM 124.65.244.*
嗯嗯高效,以前C语言刚发明的时候,处理器都是几K几M的处理速度,比现在的单片机还慢,内存也小,可读性又比汇编强太多。现在很多嵌入式都还是用C写的。
【 在 sqsl 的大作中提到: 】
: 这有啥好处?更加直接高效?
:
--
FROM 119.132.39.*
自己随便写个啥不就知道了, 说都是白说
【 在 sqsl (12345) 的大作中提到: 】
: 这有啥好处?更加直接高效?
--
FROM 45.144.240.*
同感
【 在 lvsoft (Lv(The Last Guardian)) 的大作中提到: 】
: 现在的人学计算机都是基本概念都不学,直接起手就开始瞎搞的么?
:
: 最早的visual c++ 1.0是1993年发布的,这意思是说1993年之前只能用汇编呗。
:
--
FROM 223.104.39.*
c++太难了……谁不想拥有对象呢?
【 在 sqsl 的大作中提到: 】
:
: 是不是既能在个人电脑上运行,又能在以stm32f207 COTEX M3为内核的微处理芯片上运
: 行?
:
: C语言编写的程序能在电脑上运行是因为得益于Visual c软件将其编译为了机器能识别的
: 代码
:
: 那C语言编写的程序能在微处理芯片上运行的原因是
: ..................
发自「今日水木 on iPhone 8」
--
FROM 218.88.55.*
这么看,rust自由度不如C,取代会是一个及其长期的过程。
不过rust这么设计应该是“可信计算”的理论落地。
【 在 lvsoft 的大作中提到: 】
: 你不太了解rust...
: rust的定位就是成为一门新的底层语言取代c的地位,也即可以达到和c一样的小体积和运行效率。同时作为一门更新的语言,具备zero abstraction能力,也就是说可以比c更高效。比如stm32的hal库用起来对资源是巨大的浪费,几个资源用的比较满的项目都是直接操作寄存器而不是用hal的。但在rust里你指定了器件型号之后,整个底层库都会按照这个器件型号做调整,功能一个不多一个不少。别说资源冲突外设差别这种大差别了,哪怕因为小型号改动,导致某个寄存器的某一个bit的定义没了或者变了,hal库都会在编译期报错。
: rust的目标是在语言层面就消除可能产生的资源使用冲突问题(内存访问只是资源的一种),这对于嵌入式开发是有很大价值的。因为嵌入式开发调试手段有限,靠传统的测试手段来提升代码质量并不如pc平台下那么有效。很多面向消费类电子的硬件产品都有死机问题,只不过靠watchdog凑合过去罢了。我见过一个系统,里面的有个几千行规模的if-then-else分支,我说至少整理下整理成switch-case形式吧,看起来清晰一点,人家跟我说尝试过,但只要做这个改动,哪怕其他逻辑完全不变,编译出来的代码运行直接就会死机。这意味着什么?这意味着现在能运行的代码一定有内存越界、野指针等问题,能正常运行只是一种巧合。但这样的产品就是上万台的发布出去了。
: ...................
--
FROM 120.5.247.*
rust比c难学的多的多。
即使对我这种会20多门语言,而且包括了很多公认的难学语言的人来说,rust也是我用的语言里面难度最高的那一档。
所以我对rust能否取代c是持相当悲观的态度的。不过这并不妨碍人家定这个目标。
另一方面,c也确实太古老了,很多事情做起来相当不爽,大家也确实有好一点的“c++”的需求。
【 在 OrderPhoenix 的大作中提到: 】
: 这么看,rust自由度不如C,取代会是一个及其长期的过程。
: 不过rust这么设计应该是“可信计算”的理论落地。
:
--
FROM 180.111.48.*