docs.sui.io/guides/deve…
作业系统相对杂乱-顺利开发后面的程式
1、git-scm.com/download/
Git 是一个免费的开源分布式版本控制系统,旨在快速高效地处理从小型到超大型项目的所有项目。
Git 易于学习,占用空间小,性能快如闪电。它优于 Subversion、CVS、Perforce 和 ClearCase 等 SCM 工具,具有廉价的本地分支、方便的暂存区域和多个工作流程等功能。
git update-git-for-windows(适用于Windows系统)或brew upgrade git(适用于Mac系统)
将 \bin 目录添加到 Windows PATH 环境变量中
CMake:强大的软件构建系统, 是构建 C++ 代码的事实标准,每月下载量超过 200 万次。它是一个功能强大、全面的解决方案,用于管理软件构建过程。通过访问我们的资源部分,获取成功利用 CMake 所需的一切。
window系统升级CMake,为了万无一失去官网下载window安装包来覆盖之前的CMake,不要用命令防止某坑爹模块不支持win系统。(包括node nodejs.org/en/download) 每月更新CMake与node。
3、github.com/protocolbuf… 下载地址
protobuf.dev/ 官网
将 \bin 目录添加到 Windows PATH 环境变量中
Protocol Buffer 是用于序列化结构化数据的语言中立、平台中立的可扩展机制。
协议缓冲区:是 Google 的语言中立、平台中立、可扩展的序列化结构化数据机制 - 类似于 XML,但更小、更快、更简单。您只需定义一次数据的结构化方式,然后就可以使用特殊生成的源代码,使用各种语言轻松地在各种数据流中写入和读取结构化数据。
v26.1 更新时间约4月1日,每个月要来下载文件夹。
4、visualstudio.microsoft.com/zh-hans/vs/… visualstudio.microsoft.com/zh-hant/dow…
只需要安装使用C++的桌面开发、. NET桌面建置工具、通用Windows平台建置工具。
5、Sui 在所有支持的操作系统上都需要 Rust 和 www.rust-lang.org/tools/insta… Cargo(Rust 的包管理器),Sui 使用最新版本的 Cargo 来构建和管理依赖项。
Rust是一个新兴的编译语言,融入部分高阶语言的特性·但仍具有接近C++的性能·而没有C或C++中危险的部分。
不像大多数的现代高阶语言。Rust不需要虚拟机器,也不依赖垃圾回收。其代码转换成原生的机械码。使Rust具有良好的性能·且易于和其他语言合作。目前已经有数个实际的铁锈应用案例,包括伺服网页浏览器,Firefox网页浏览器元件,锈编译器,Deno网页程序平台(执行JavaScript和打印稿)等。
甚至已经有人用Rust撰写游戏引擎及操作系统,可知Rust的确有足够的性能及低阶操作可应对不同的任务。
sui move底层是rust,每日同步更新2条命令,求你不要折磨我了信不信顺着网线揍你。
rustup update
cargo install --locked --git https://github.com/MystenLabs/sui.git --branch testnet sui
将 \bin 目录添加到 Windows PATH 环境变量中
每月更新llvm
LLVM 项目是模块化、可重用的编译器和工具链技术的集合。尽管名称如此,LLVM 与传统虚拟机关系不大。 “LLVM”这个名字本身并不是一个缩写词;而是一个缩写词。这是项目的全名。
LLVM 最初是伊利诺伊大学的一个研究项目,目标是提供一种基于 SSA 的现代编译策略,能够支持任意编程语言的静态和动态编译。从那时起,LLVM 已发展成为一个由许多子项目组成的伞式项目,其中许多子项目被各种 商业和开源项目用于生产,并广泛用于学术研究。 LLVM 项目中的代码根据 “Apache 2.0 许可证(LLVM 例外)”获得许可
LLVM的主要子项目有:
- LLVM 核心库提供了现代的独立于源和目标的优化器,以及 对许多流行 CPU(以及一些不太常见的 CPU!)的代码生成支持。这些库是围绕一个明确指定的代码表示(称为 LLVM 中间表示)构建的(“LLVM IR”)。 LLVM 核心库有详细的文档记录,并且特别容易发明自己的语言(或移植现有的编译器)以使用 LLVM 作为优化器和代码生成器。
- **Clang**是一个“LLVM 原生”C/C++/Objective-C 编译器,旨在提供惊人的快速编译、极其有用的错误和警告消息,并提供一个用于构建出色的源代码级工具的平台。 Clang 静态分析器和clang -tidy是自动查找代码中错误的工具,并且是可以使用 Clang 前端作为解析 C/C++ 代码的库来构建的工具的绝佳示例。
- **LLDB**项目建立在 LLVM 和 Clang 提供的库的基础上,提供了一个出色的本机调试器。它使用 Clang AST 和表达式解析器、LLVM JIT、LLVM 反汇编器等,以便提供“正常工作”的体验。在加载符号时,它的速度也非常快,并且内存效率比 GDB 高得多。
- libc ++ 和 **libc++ ABI**项目提供了符合标准的 C++ 标准库的高性能实现,包括对 C++11 和 C++14 的完全支持。
- **compiler-rt**项目提供了低级代码生成器支持例程的高度调整实现,例如“
__fixunsdfdi”以及当目标没有短序列本机指令来实现核心 IR 操作时生成的其他调用。它还为动态测试工具(例如 AddressSanitizer、 ThreadSanitizer、 MemorySanitizer和 DataFlowSanitizer )提供运行时库的实现。 - MLIR子项目是一种构建可重用和可扩展编译器基础设施的新颖方法 。 MLIR 旨在解决软件碎片问题,改进异构硬件的编译,显着降低构建特定领域编译器的成本,并帮助将现有编译器连接在一起。
- OpenMP子项目提供了一个OpenMP运行时 , 可与 Clang 中的 OpenMP 实现一起使用。
- polly项目使用多面体模型实现了一套缓存局部性**优化**以及自动并行和矢量化。
- **libclc**项目旨在实现 OpenCL 标准库。
- **klee**项目实现了一个“符号虚拟机”,它使用定理证明器来尝试评估程序中的所有动态路径,以查找错误并证明函数的属性。 klee 的一个主要特点是它可以在检测到错误时生成测试用例。
- **LLD**项目是一个新的链接器。这是系统链接器的直接替代品并且运行速度更快。
- BOLT**项目** 是一个链接后优化器。它通过根据采样分析器收集的执行配置文件优化应用程序的代码布局来实现改进。
除了 LLVM 的官方子项目之外,还有各种各样的其他项目使用 LLVM 组件来执行各种任务。通过这些外部项目,您可以使用 LLVM 编译 Ruby、Python、Haskell、Rust、D、PHP、Pure、Lua、Julia 和许多其他语言。 LLVM 的主要优势在于其多功能性、灵活性和可重用性,这就是为什么它被用于如此广泛的不同任务:从对 Lua 等嵌入式语言进行轻量级 JIT 编译,到为大规模超级计算机编译 Fortran 代码。电脑。
与其他一切一样,LLVM 拥有一个广泛而友好的社区,由对构建出色的低级工具感兴趣的人们组成。如果您有兴趣 参与其中,最好的第一选择是浏览LLVM 博客并加入LLVM Discourse。有关如何发送补丁、获取提交访问权限以及版权和许可主题的信息,请参阅LLVM 开发人员政策
7、从源代码安装 Sui 二进制文件,运行以下命令,从 testnet 分支安装 Sui 二进制文件:
cargo install --locked --git https://github.com/MystenLabs/sui.git --branch testnet sui
8、配置可以撰写sui move程式语言的IDE,clone原始码所有的东西包含指令
git clone https://github.com/MystenLabs/sui.git
9、最后一步错误,感谢大哥:blog.csdn.net/weixin_4745… 报错信息提示需要设置LIBCLANG_PATH的环境变量,即使设置了llvm和gcc的环境变量之后还报错,通过export -p 查看vscode识别的环境变量。
手动设置变量与值:export LIBCLANG_PATH="E:\LLVM\bin"
which sui
如果安装了 Sui,该命令将返回 Sui 二进制文件的路径。如果未安装 Sui,则返回sui not found。