首页
学习
活动
专区
圈层
工具
发布

Rust学习笔记:1.2 两个典例及常用命令

的参数 这行代码以 ; 结尾 编译和运行时单独的两步 运行 Rust 程序之前必须先编译,命令为:rustc 源文件名 编译成功后,会生成一个二进制文件 在 Windows 上还会生成一个 .pdb...源代码都应该在 src 目录下 顶层目录可以放置:README、许可信息、配置文件和其他与程序源码无关的文件 如果创建项目时没有使用 cargo,也可以把项目转化为使用 cargo: 把源代码文件移动到...src 下 创建 Cargo.toml 并填写相应的配置 构建 Cargo 项目 cargo build cargo build 创建可执行文件: Linux/Mac: target/debug/...\target\debug\hello_cargo.exe 第一次运行 cargo build 会在顶层目录生成 cargo.lock 文件 该文件负责追踪项目依赖的精确版本 不需要手动修改该文件 运行...为发布构建 cargo build --release 编译时会进行优化 代码会运行得更快,但是编译事件更长 会在 target/release 而不是 target/debug 生成可执行文件 两种配置

57910

第8章 | 测试与文档、依赖项、发布、工作空间

; Ok(()) } 标有 #[test] 的函数是有条件编译的。普通的 cargo build 或 cargo build --release 会跳过测试代码。...笔记 前端工程也同样的操作,一般推荐保留 .lock 文件,直接把 lock 文件放到仓库里 8.8 将 crate 发布到 crates.io 如果你已决定将这个蕨类植物模拟库作为开源软件发布,那么,...Cargo 的工作方式是,每个 crate 都有自己的构建目录 target,其中包含该 crate 的所有依赖项的单独构建。这些构建目录是完全独立的。...这些子目录中所有残存的 Cargo.lock 文件和 target 目录都需要删除。...完成此操作后,任何 crate 中的 cargo build 都会自动在根目录(在本例中为 fernsoft/target)下创建和使用共享构建目录。

35010
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Rust学习笔记之Rust环境配置和入门指南

    紧随标签后的3行语句提供了Cargo编译这个程序时需要的配置信息,它们分别是 程序名- hello_cargo 程序版本号 - 0.1.0 Rust版本号 - 2021 最后一行文本中[dependencies...❞ ---- 使用Cargo构建和运行项目 在hello_cargo项目目录下,Cargo可以通过下面的命令来完成「构建任务」。 cargo build 并通过....继续使用tree来查看文档目录 「首次使用」命令cargo build构建的时候,它会在「项目根目录」下创建一个名为Cargo.lock的新文件,这个文件记录了「当前项目所有依赖库的具体版本号」。...「不要手动编辑其中的内容,Cargo可以帮助你自动维护它」。 当然,我们可以把上述build和手动查找并执行debug目录下的可执行文件的两个操作合并成一个操作。...它生成的可执行文件会被放置在target/release目录下,而不是之前的target/debug目录下。 这种模式会以更长的编译时间为代价来优化代码,从而使代码拥有更好的「运行时性能」。

    1.4K10

    Rust之Cargo构建、运行、调试

    基本概念 Cargo是rustup安装后自带的,Cargo 是 Rust 的构建系统和包管理器。 Rust 开发者常用 Cargo 来管理 Rust 工程和获取工程所依赖的库。...#创建一个库cargo build cargo new lib_name --lib--vcs none #构建编译,默认会编译到target/debug/project_name下 cargo build...#运行 cargo run #构建编译发布版本,这会做很多优化,并编译到target/release/project_name下 cargo build --release #如果你想修改cargo...cargo check 创建工程目录说明 cargo new helloworld可以创建一个helloword的工程目录,目录结构如下: src下面是代码目录。...target是编译后的文件目录。 .gitignore主要功能是屏蔽某些文件,使得这些文件不被追踪(tracked),自然push后也不会上传到github等平台。

    1.3K20

    🦀 新手必看!小小白也能用Rust点亮LED,入门嵌入式开发(上)

    灯代码 交叉编译 安装目标平台:rustup target add thumbv7em-none-eabihf 交叉编译:cargo build 烧录运行 安装烧录工具probe-rs 烧录运行:cargo...⚠️ 我烧录好一块开发板,拔下USB线断电后,下次还需要再次烧录才能让LED灯重新闪烁吗?不需要。...运行cargo run命令后新增的Cargo.lock文件、target文件夹和target/debug文件夹各自的用途是什么?...): cargo build ⚠️当我们运行上述编译命令来编译针对micro:bit v2的嵌入式Rust代码时,会遇到第一个障碍。...你知道如何修改代码来点亮第1行第1列的灯吗?不妨动手试试看。 打开你常用的编辑器,将代码中的col4和row4分别改为col1和row1,保存后运行cargo run命令。

    1.6K21

    Go 和 Rust 我都要!

    我最近看到很多小伙伴说的话: Rust 还值得学吗?社区是不是不稳定呀 Rust 和 Go 哪个好? Rust 还值得学吗? 这些问题如果有人来问我,那我的回答是: 小孩子才做选择,我都要!...准备 Rust 示例程序 Rust 的安装和 Cargo 工具的基本使用,这里就不介绍了。大家可以去 Rust 的官网进行了解。 用 Cargo 创建项目 我们先准备一个目录用来放本次示例的代码。...(我创建的目录叫做 go-rust ) 然后使用 Rust 的 Cargo 工具创建一个名叫 rustdemo 的项目,这里由于我增加了 --lib 的选项,使用其内置的 library 模板。...编译 Rust 代码 我们需要修改下 Cargo.toml 文件以便进行编译。注意,这里我们增加了 crate-type = ["cdylib"] 和 libc 。...target/release/librustdemo.so 复制代码 准备 Go 代码 Go 环境的安装之类的这里也不再赘述了,继续在我们的 go-rust 目录操作即可。

    1.2K00

    Go 和 Rust 我都要!

    大家好,我是张晋涛。标题我实在没想到应该怎么取。 近期 Rust 社区/团队有些变动,所以再一次将 Rust 拉到大多数人眼前。 我最近看到很多小伙伴说的话: “Rust 还值得学吗?...“Rust 还值得学吗?” 这些问题如果有人来问我,那我的回答是: 小孩子才做选择,我都要!...准备 Rust 示例程序 Rust 的安装和 Cargo 工具的基本使用,这里就不介绍了。大家可以去 Rust 的官网进行了解。 用 Cargo 创建项目 我们先准备一个目录用来放本次示例的代码。...(我创建的目录叫做 go-rust ) 然后使用 Rust 的 Cargo 工具创建一个名叫 rustdemo 的项目,这里由于我增加了 --lib 的选项,使用其内置的 library 模板。...编译 Rust 代码 我们需要修改下 Cargo.toml 文件以便进行编译。注意,这里我们增加了 crate-type = ["cdylib"] 和 libc 。

    73410

    【运行时】FFI 链接 C ABI 动态链接库(实操分享)

    目录>支持以Cargo Package根目录为起点的【相对路径】。 native=前缀表示:在该目录>下预存都是C ABI链接库,而不是Rust ABI链接库。...【重点强调】我已亲测:在.cargo\config.toml [build] rustflags = "***"配置项内,设置此-L编译器参数不管用 — 原因不详且和Cargo Book文档描述不符。...接着,若你的目标仅只是cargo build编译出一个.exe可执行文件,那么到这就可以打住了。 再续,若你的目标是cargo run既编译源码又运行可执行文件,那么还有一步需要被完成。...要么,在Cargo Package根目录下,编写一个简单的build.rs构建脚本 【功能】指派cargo,在编译过程中,在$OUT_DIR文件夹内(即,target\debug或target\release...若出于某些原因dll丢了、找不到了,程序直接崩溃退出 —— 连写日志的机会都没有。 超恶心!既没日志,也没GUI错误提示框。啥都没有,难死我了! 显示出GUI主界面。

    1.6K30

    rust 1.91.0 发布:稳定大量新特性与平台支持升级

    此版本不仅在语言层面引入了多项稳定特性,还对编译器、标准库、Cargo、Rustdoc、平台支持及兼容性规则做了系统性改进,并升级了内部 LLVM 到 v21。...改进 • 稳定配置项 build.build-dir 用于指定中间构建产物的存储目录,该目录内容布局可能会随版本变化。...• --target 与 build.target 支持使用 "host-tuple" 字符串自动替换为当前主机三元组。 Rustdoc 更新 • 搜索结果中,文档别名排名低于同名非别名项。...• Cargo 兼容性 • cargo publish 在设置了 build.build-dir 时不再保留 .crate 压缩包作为最终产物,需使用 cargo package。...• Cargo 消息颜色匹配 rustc 样式。 • 自定义 build-dir 时需注意内部布局变化可能导致工具不兼容。

    28010

    通过 Cargo 管理 Rust 项目

    2.3 代码版本控制 Cargo 默认使用 git 作为版本控制工具,因此上述项目目录中已经有了 .gitignore 文件,当然,在创建项目时,也可以通过 --vcs 参数来选择不使用任何版本控制工具...用 Cargo 构建和运行项目 在项目目录下,执行 cargo build 命令就可以完成任务的构建: $ cargo build Compiling hello_cargo v0.1.0 (...in 2.01s 通过 tree 命令,可以看到构建完成后产生的新文件: . ├── Cargo.lock ├── Cargo.toml ├── src │ └── main.rs └...检测 rust 语法 当你做了一些修改,你可能并不想花很长时间来编译,而仅仅是想要知道是否存在编译错误,此时,只需要执行 cargo check 就可以快速定位编译错误: $ cargo check...运行项目 执行 cargo run 命令可以运行项目,如果之前没有执行过 cargo build 或者在 build 后又有了新的修改,cargo run 命令会自动进行 build: $ cargo

    96620

    Rust学习笔记(2)- Cargo包管理器

    /reference/manifest.html [dependencies] cargo编译和运行项目 被cargo管理的项目可以直接使用cargo进行编译,而不需要使用rustc: $ cargo...build 构建成功后,会在当前目录下生成一个target目录,其下的debug目录里面会有编译后的可执行文件。...这里和使用rustc编译后的结果有点区别,rustc编译一个文件,成功后生成的是和被编译的文件同名的可执行文件,而使用cargo构建,生成在debug目录下的可执行文件,是根据toml文件中name的名称命名的...如果想构建release,可以使用如下命令: $ cargo build --release 将会在target/release目录下生成可执行文件 编程 —— Guessing Game use std...完成后,会生成一个Cargo.lock文件,这个文件用于锁定你的依赖的版本,比如rand发布了0.8.6版本,你在项目中再次执行build的时候,并不会去升级,因为lock文件已经锁定了这个版本。

    1.2K40

    本体技术视点 | 想用Wasm开发dApp?你不得不读的入门教程(1)

    我们使用cargo工具把合约编译成 Wasm 字节码时,生成的文件会比较大,ontio-wasm-build可以优化字节码,从而减小合约文件大小,将合约部署到链上之前,必须通过该工具进行合约的优化与检查...需要先将源码编译成 Wasm 字节码。 2. 使用 ontio-wasm-build 工具优化一下 Wasm 字节码。 3. 将优化后的 Wasm 字节码部署到链上。 4. 进行合约中方法的调用。...├── Cargo.toml ├── build.sh └── src └── lib.rs 我们对其中一些文件进行说明: .cargo文件夹下面的config文件中配置了合约编译时的一些配置信息...build.sh文件里面封装好了编译合约和优化合约的功能,待合约开发完成后,执行该脚本会将优化后的合约字节码放到output目录下面。.../build.sh: Permission denied 那么,可以先给该文件可执行权限: sudo chmod +x ./build.sh 执行成功后,会在当前目录下生成output目录。

    84710
    领券