Skip to content

Commit d3c0592

Browse files
author
DaviRain-Su
committed
Add some func
1 parent cd90f28 commit d3c0592

File tree

2 files changed

+65
-0
lines changed

2 files changed

+65
-0
lines changed

README.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,55 @@ cargo check --target wasm32-unknown-unknown
3333

3434
## 4. 具体的写一个no_std的库
3535

36+
### 创建一个no_std库的第一种方式
37+
38+
1. [创建一个仓库](https://github.com/DaviRain-Su/rust-no-std-source/commit/cd90f28855cfe794c235976bb58c1c5ecb8c7fa9)
39+
40+
```
41+
cargo new --lib create-no-std-lib-1
42+
```
43+
44+
2. [使用#![no_std]将这个仓库中的函数能支持在no_std和std下使用]()
45+
46+
```
47+
rust-no-std-source/create-no-std-lib-1 🍣 main 📝 ×2🦀 v1.55.0-nightly 🐏 7GiB/8GiB | 9GiB/9GiB
48+
🕙 11:28:02 ❯ cargo test
49+
Compiling create-no-std-lib-1 v0.1.0 (/Users/davirain/davirain/rust-no-std-source/create-no-std-lib-1)
50+
Finished test [unoptimized + debuginfo] target(s) in 0.51s
51+
Running unittests (/Users/davirain/davirain/rust-no-std-source/target/debug/deps/create_no_std_lib_1-01d268f91a23f421)
52+
53+
running 2 tests
54+
test tests::it_works ... ok
55+
test tests::test_sum ... ok
56+
57+
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
58+
59+
Doc-tests create-no-std-lib-1
60+
61+
running 0 tests
62+
63+
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
64+
65+
66+
rust-no-std-source/create-no-std-lib-1 🍣 main 📝 ×2🦀 v1.55.0-nightly 🐏 7GiB/8GiB | 9GiB/9GiB
67+
🕙 11:28:07 ❯ cargo test --no-default-features
68+
Finished test [unoptimized + debuginfo] target(s) in 0.02s
69+
Running unittests (/Users/davirain/davirain/rust-no-std-source/target/debug/deps/create_no_std_lib_1-01d268f91a23f421)
70+
71+
running 2 tests
72+
test tests::it_works ... ok
73+
test tests::test_sum ... ok
74+
75+
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
76+
77+
Doc-tests create-no-std-lib-1
78+
79+
running 0 tests
80+
81+
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
82+
83+
```
84+
3685

3786
## 5. 一些no_std和std可以使用的primite类型仓库
3887

create-no-std-lib-1/src/lib.rs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,23 @@
1+
#![no_std]
2+
3+
4+
pub fn sum(a: i32, b: i32) -> i32 {
5+
a + b
6+
}
7+
8+
9+
110
#[cfg(test)]
211
mod tests {
12+
use super::*;
13+
314
#[test]
415
fn it_works() {
516
assert_eq!(2 + 2, 4);
617
}
18+
19+
#[test]
20+
fn test_sum() {
21+
assert_eq!(sum(2, 3), 5);
22+
}
723
}

0 commit comments

Comments
 (0)