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

相关推荐
MATLAB代码顾问3 小时前
5大智能算法优化标准测试函数对比(Python实现)
开发语言·python
万粉变现经纪人5 小时前
如何解决 pip install llama-cpp-python 报错 未安装 CMake/Ninja 或 CPU 不支持 AVX 问题
开发语言·python·开源·aigc·pip·ai写作·llama
小码哥_常5 小时前
Spring Boot:别再重复造轮子,这些内置功能香麻了
后端
清风明月一壶酒5 小时前
OpenClaw自动处理Word文档全流程
开发语言·c#·word
其实防守也摸鱼5 小时前
CTF密码学综合教学指南--第五章
开发语言·网络·笔记·python·安全·网络安全·密码学
皮皮林5515 小时前
OpenFeign 首次调用卡 3 秒?八年老开发扒透 5 个坑,实战优化到 100ms!
后端
小郑加油6 小时前
python学习Day12:pandas安装与实际运用
开发语言·python·学习
AC赳赳老秦6 小时前
投标合规提效:用 OpenClaw 实现标书 / 合同自动审核、关键词校验、格式优化,降低废标风险
开发语言·前端·python·eclipse·emacs·deepseek·openclaw
KuaCpp6 小时前
C++面向对象(速过复习版)
开发语言·c++
千寻girling7 小时前
《 Git 详细教程 》
前端·后端·面试