有问题就有答案
Q1:Rust 和 C++ 有哪些优劣
Rust雄心勃勃想取代c .当别人问你对Go的看法时,他们直接回答我们的目标是C. Go也是一门好语言,balabala。gitwiki页面上有一个简单的对比:急求cxx程序员。拉什-朗/拉什维基。github。最直观的区别就是rush没有c的历史包袱和c的包袱,所以一切都可以明了。和现代模块化系统。但如果只是这样,那只是一个更好的C .然而,Rust有一个更详细的编译时检查,它严格检查C的RAII模式,从而在编译时实现隐式的确定性析构。同时区分了mut和非mut,可以保护数据的不变性,更适合并发。将类型安全发挥到极致。(匿名用户有很棒的答案!而且,虽然C在不断吸收功能特性,但是Rust更彻底,谁使用模式匹配和代数数据类型相结合的能力,谁就知道。此方法用于错误处理。没有例外,也没有Go这样的额外返回值。对泛型的支持非常好,编译器的错误消息也很友好,不像C的模板编程……其实所有的错误消息都很友好,可以用文字向你解释你遇到了什么问题,有时还会给你提供修改建议。同时还有模式匹配风格的宏,可以在生成代码的同时保证安全性。这是我从@ upsuper听到的.他说语句中穿插了一堆宏,他去IRC投诉别人回复说你去伺服组用Rust,没有这个问题.虽然生活的概念有点混乱,但是语言本身的元素没有那么多,没必要学太多的概念。c构造函数有各种各样的细节和坑,我很难想象。只有接口之类的东西,没有继承可能有些人很难习惯——,但是真的需要继承吗?Rust的很多参与者都是经验丰富的C程序员,这是一门对C程序员来说非常开胃的语言。而且上手容易,常用的指针基本都有对应的版本。命名空间的:操作符比较熟悉。
Q2:为什么要用rust取代c/c ++重写python底层
c++难维护。 rust号称全面取代c++。 这个语言和c++一样的性能还不用考虑内存回收(和java的gc不同, 是编译完成的)。 还有很多新特性, 比如闭包, 函数编程。而且能够向下兼容c
Q3:哪种语言最可能替代c/c++?d,go还是rust
嵌入这么久了,还没有看到任何语言可以代替C语言。C,LZ说的高级语言都是基于平台和多包形成的。c是一种为平台使用而构建的高级语言,没有基础。另外,IC编程基本上是用汇编语言编写的。为了提高底层的运行效率,汇编和C必不可少。高级语言可以随机选择和替换。
Q4:为什么Rust这样的语言还需要C/C++编译器
需要一个带有VS的链接器应该是需要支持FFI的原因。是Windows Rust承诺支持的主要平台之一,这意味着Rust应该能够与Windows上的静态库和动态库进行交互。此时,MSVC的ABI是一个无法回避的问题。可以参考Rustup官方文档rust-lang rust-lang-苗圃/rustup.rs中对Windows平台的描述Windows平台上有两套ABI,一套是MSVC,一套是MinGW。因此,你实际上有两个选择,要么安装msvc然后rustup安装stable-x86 _ 64-PC-windows-msvc,要么安装MinGW。然后Rustup install stable-x86 _ 64-PC-windows-GNU在Rustup的文档中有这样一句话:默认情况下,在windows配置上Rustup rust的目标是32位msvc ABI。这是i686-PC-windows-msvc的三重目标。因此,如果默认安装,则需要安装msvc。
Q5:我应该放弃 C++,学习 Rust 吗
我用了下rust。 感觉介于c 和 swift。 比c++好用。不过基本上没什么生态, 不建议进入太深。 顺便说一下。 现在rust的社区还是分蛋糕的状态。 我的朋友没事干提供了大概200行代码(他是毕业生水准),后来那个库火了,他也进google了。。。
Q6:2020-09-26:请问rust中的&和c++中的&有哪些区别?
RUST中的&表示引用Rust 有编译时变量引用检查&引用的变量默认情况下不可以直接修改(可以使用unsafe{})&mut 引用的变量可以在生命周期内部仅能同时存在至多一个,可以当C/CPP中指针用&/&mut引用的变量会在作用域结束后释放如果必须要有多个引用或多个变量实例,可以使用clone()方法以上特性均为编译时特性,不影响运行时性能C/CPP中 &表示变量的内存地址,是偏向底层的,C/CPP没有编译时变量检查,所以比较自由