rust

文章目录

  • rust
    • Cargo
    • [Creating a rust project](#Creating a rust project)
  • [How to Debug Rust Programs using VSCode](#How to Debug Rust Programs using VSCode)
    • [basic debugging](#basic debugging)
    • [How to pass arguments in Rust debugging with VS Code.](#How to pass arguments in Rust debugging with VS Code.)
  • References

rust

Cargo

Cargo is a package management tool used for downloading, compiling, updating, and managing dependencies in Rust. It is installed automatically when Rust is installed and does not require any manual intervention from the user.

Creating a rust project

bash 复制代码
cargo new hello_world

Project Structure

bash 复制代码
$ cd hello_world
$ tree .
.
├── Cargo.toml
└── src
    └── main.rs

1 directory, 2 files

Cargo.toml is the configuration file used by Cargo.

复制代码
[package]
name = "hello_world"
version = "0.1.0"
edition = "2021"

[dependencies]

The above is the complete content of the Cargo.toml file, which is known as the manifest and contains all the metadata needed for Cargo to compile the program.

src/main.rs内容如下

复制代码
fn main() {
    println!("Hello, world!");
}

It can be seen that Cargo has also automatically generated a "Hello World" program or binary package for us, and has compiled and built the program.

bash 复制代码
$ cargo build
   Compiling hello_world v0.1.0 (file:///path/to/package/hello_world)

Then run the compiled binary executable file:

bash 复制代码
$ ./target/debug/hello_world
Hello, world!

Notice the "debug" in the path? It indicates that we just compiled in Debug mode, which is mainly used for testing purposes. If we want to perform production compilation, we need to use the Release mode with cargo build --release, and then run it with ./target/release/hello_world.

In addition to the compile + run method mentioned above, in daily development, we can also use a simple command to run it directly:

bash 复制代码
$ cargo run
     Fresh hello_world v0.1.0 (file:///path/to/package/hello_world)
   Running `target/hello_world`
Hello, world!

cargo run will automatically compile and run the program for us. Of course, this command also supports the Release mode: cargo run --release.

How to Debug Rust Programs using VSCode

basic debugging

After consulting the official documentation on debugging Rust with VS Code at https://code.visualstudio.com/docs/languages/rust#_debugging, ↗ it is found that the recommended debugging extensions are:

Microsoft C++ (ms-vscode.cpptools) - on Windows

CodeLLDB (vadimcn.vscode-lldb) - on macOS/Linux

"After installing the debugging extension, you can start debugging."

How to pass arguments in Rust debugging with VS Code.

When using CodeLLDB for debugging, consult the CodeLLDB debugging documentation at https://github.com/vadimcn/codelldb/blob/v1.9.2/MANUAL.md#starting-a-new-debug-session ↗ to learn that a launch.json configuration file needs to be created in the .vscode directory.

The configuration file should have the following contents::

复制代码
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Launch",
            "type": "lldb",
            "request": "launch",
            "program": "${workspaceFolder}/target/debug/yrh_test",
            "args": ["llama", "${workspaceFolder}/model/llama/open_llama_3b-f16.bin"],
        }
    ]
}

References

https://zhuanlan.zhihu.com/p/470251959

相关推荐
3GPP仿真实验室7 分钟前
【Matlab源码】6G候选波形:OFDM-IM 增强仿真平台 DM、CI
开发语言·matlab·ci/cd
devmoon11 分钟前
在 Polkadot 上部署独立区块链Paseo 测试网实战部署指南
开发语言·安全·区块链·polkadot·erc-20·测试网·独立链
lili-felicity11 分钟前
CANN流水线并行推理与资源调度优化
开发语言·人工智能
爬山算法12 分钟前
Hibernate(87)如何在安全测试中使用Hibernate?
java·后端·hibernate
沐知全栈开发12 分钟前
CSS3 边框:全面解析与实战技巧
开发语言
island131422 分钟前
CANN GE(图引擎)深度解析:计算图优化管线、内存静态规划与异构 Stream 调度机制
c语言·开发语言·神经网络
曹牧26 分钟前
Spring Boot:如何在Java Controller中处理POST请求?
java·开发语言
浅念-29 分钟前
C++入门(2)
开发语言·c++·经验分享·笔记·学习
WeiXiao_Hyy30 分钟前
成为 Top 1% 的工程师
java·开发语言·javascript·经验分享·后端
User_芊芊君子36 分钟前
CANN010:PyASC Python编程接口—简化AI算子开发的Python框架
开发语言·人工智能·python