【Rust入门】(一)构建自己的第一个Rust项目
安装Rust
参考文档,指定安装目录和镜像配置。
rustc --version 检查是否安装成功。
构建程序
使用rustc编译运行
rustc
编译:rustc main.js
运行:
- Windows:
.\main.exe或main - Linux:
./main
注意:
- 编译成功后会生成一个二进制文件。在Windows上还会生成一个
.pdb文件,里面包含调试信息; - Rust是ahead-of-time编译的语言(预编译),执行可执行文件无需安装Rust;
rustc只适合简单的Rust程序。
程序解剖
fn main() {
println!("Hello World");
}
main()函数是每个Rust可执行程序最先运行的代码;- Rust的缩进是4个空格而不是tab;
println!()是一个Rust macro(宏)。
问题解决
问题:VSCode打开项目时报错:rust-analyzer failed to load workspace
解决:项目下新建文件 setting.json,增加如下内容
{
"rust-analyzer.server.extraEnv": {
"CARGO": "cargo.exe"
}
}
使用Cargo构建
Cargo
Cargo是Rust的构建系统和包管理工具。
安装Rust时会自动安装Cargo,cargo --version 检查是否安装成功。
创建项目
cargo new hello_cargo
项目结构
Cargo.toml:TOML格式是Cargo的配置格式package:包的配置(Rust的包称作crate)dependencies:依赖
src目录main.rs
.gitignore:cargo new时使用--vcs来自定义是否使用vcs
创建项目时没有使用cargo,也可以将项目改成上述结构来使用cargo。
命令
cargo build:构建项目
- 创建可执行文件:
target\debug\hello_cargo.exe - 生成
cargo.lock文件,负责追踪项目依赖的精确版本,不需要手动修改该文件
cargo run:构建和运行项目
cargo check:编译检查,但不生成可执行文件(开发过程中可反复调用,提高效率)
cargo build --release:为发布构建项目
- 编译时会进行优化
- 创建可执行文件:
target\release\hello_cargo.exe
【Rust入门】(一)构建自己的第一个Rust项目的更多相关文章
- Google C++测试框架系列入门篇:第二章 开始一个新项目
上一篇:Google C++测试框架系列入门篇:第一章 介绍:为什么使用GTest? 原始链接:Setting up a New Test Project 词汇表 版本号:v_0.1 开始一个新项目 ...
- Flutter入门教程(四)第一个flutter项目解析
一.创建一个Flutter工程 1.1 命令行创建 首先我们找一个空目录用来专门存放flutter项目,然后在路径中直接输入cmd: 使用 flutter create <projectname ...
- node项目的基本构建流程或者打开一个node项目的流程
1. 确立项目所需要的所有依赖.框架(比如bootstrap,vue,angular等) 2. 在项目的根目录下创建一个package.json文件,package.json文件是项目的最重要文件之 ...
- ASP.NET + MVC5 入门完整教程三 (上) ---第一个MVC项目
https://blog.csdn.net/qq_21419015/article/details/80420815 第一个MVC应用程序 1创建MVC项目 打开VS ,File--新建--项目,选择 ...
- java学习入门之---使用idea创建第一个maven项目
一.准备条件: 1.安装idea旗舰版 2.安装tomcat 二.打开idea开始创建 1.创建Project 2.选择项目类型为maven 3.输入组名和项目名 ---> 下一步 ----&g ...
- eclipse中创建一个maven项目
1.什么是Maven Apache Maven 是一个项目管理和整合工具.基于工程对象模型(POM)的概念,通过一个中央信息管理模块,Maven 能够管理项目的构建.报告和文档. Maven工程结构和 ...
- Maven(一)如何用Eclipse创建一个Maven项目
1.什么是Maven Apache Maven 是一个项目管理和整合工具.基于工程对象模型(POM)的概念,通过一个中央信息管理模块,Maven 能够管理项目的构建.报告和文档. Maven工程结构和 ...
- 基于Maven构建开发第一个Storm项目
前面说过了Storm的测试项目,那么此时我们更想自己写一个小项目来练练手,首先我们自己的Windows系统上首先应该安装好maven,然后启动Eclipse for JavaEE版本,接下来开始建立项 ...
- Rust入门篇 (1)
Rust入门篇 声明: 本文是在参考 The Rust Programming Language 和 Rust官方教程 中文版 写的. 个人学习用 再PS. 目录这东东果然是必须的... 找个时间生成 ...
- 5分钟APIG实战: 使用Rust语言快速构建API能力开放
序言:Rust语言简介 参与过C/C++大型项目的同学可能都经历过因为Null Pointer.Memory Leak等问题“被” 加班了不知道多少个晚上.别沮丧,你不是一个人,Mozilla Fir ...
随机推荐
- mapper动态代理
Dao接口的实现类仅仅是通过sqlsession的相关api定位到映射文件mapper中的相应id的sql语句,真正对DB进行操作的工作是由框架通过mapper中的sql完成的. mybatis框架抛 ...
- DUBBO消费端Reference初始化
1. ReferenceBean.java ReferenceBean.java 继承 ReferenceConfig.java, 主要的Reference初始化逻辑都在ReferenceBean的g ...
- win10家庭版vmwarework启动蓝屏
最终升级到vmwarework16.2.5解决 据说17支持win11 再出问题直接上vm17了
- react 基础知识
基础知识 css-module react 将js转为vdom,react-dom将vdom转为dom // 外面一层是一个动态值,里面的表示的是对象 <img src={logo} style ...
- GSON 特殊类型支持序列化和反序列化,如LocalDateTime
GSON 特殊类型支持序列化和反序列化,如LocalDateTime DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern ...
- Linux 远程数据同步工具详解
一.简介 1 认识 Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.Rsync使用所谓的"Rsync算法"来 ...
- Echarts河南地图下钻
var parentJson = null; var parentInfo = [{ cityName: '河南', level: 'city', code: 410000, }, ]; getGeo ...
- DDD(二)聚合、聚合根、领域服务、应用服务、仓储”和“工作单元”、领域事件、集成事件
DDD(二)聚合.聚合根.领域服务.应用服务.仓储"和"工作单元".领域事件.集成事件 如果觉得样式不好:跳转即可 http://www.lifengying.site/ ...
- pymongo解决查询的时区相差8小时
背景 最近需要到mongoDB中查询数据,但是发现返回的日期总是和实际时间差8小时.到数据库查询了一下看到时间的确是准确的,只是查询出来的比实际的少了8小时. 通过网上查找资料了解到默认时区是UTC, ...
- 服务器部署 halo博客项目
2020-8-9 13:45:14 有个进阶方法! 如果静态资源加载缓慢如图片,头像 则用CDN加速 (确实很秀!) https://cdn.jsdelivr.net/gh/你的用户名/你的仓库 ...