Skip to content

Commit

Permalink
跟随上游 PR #450 更新
Browse files Browse the repository at this point in the history
  • Loading branch information
PureWhiteWu committed Jun 5, 2024
1 parent c58237c commit 35dbec8
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 6 deletions.
12 changes: 7 additions & 5 deletions src/beneath-std.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ libc = { version = "0.2.146", default-features = false }

注意已经禁用了默认功能。这是一个关键步骤——** `libc` 的默认功能包括 `std` crate,因此必须禁用。**

另外,我们可以使用不稳定的 `rustc_private` 私有功能,以及下面示例中显示的 `extern crate libc;` 声明。
另外,我们可以像下述例子一样,结合使用不稳定的 `rustc_private` 私有功能和 `extern crate libc;` 声明。需要注意的是,windows-msvc target 不需要 libc,对应的在 sysroot 中也不存在 `libc` 这个 crate,因此在 windows-msvc target 下,我们不需要添加这个声明,并且添加了这个声明会导致编译错误

## 在没有 `std` 的情况下编写可执行文件

Expand All @@ -28,11 +28,12 @@ libc = { version = "0.2.146", default-features = false }
#![allow(internal_features)]
#![no_std]

// 在某些平台上,对于 `panic = "unwind"` 构建来说是必要的。
// 在 cfg(unix) 平台上,对于 `panic = "unwind"` 构建来说是必要的。
#![feature(panic_unwind)]
extern crate unwind;

// 为 crt0.o 可能需要的系统 libc 库拉取。
// 导入 crt0.o 可能需要的系统 libc 库。
#[cfg(not(windows))]
extern crate libc;

use core::panic::PanicInfo;
Expand All @@ -59,11 +60,12 @@ fn panic_handler(_info: &PanicInfo) -> ! { core::intrinsics::abort() }
#![no_std]
#![no_main]

// 在某些平台上,对于 `panic = "unwind"` 构建来说是必要的。
// 在 cfg(unix) 平台上,对于 `panic = "unwind"` 构建来说是必要的。
#![feature(panic_unwind)]
extern crate unwind;

// 为 crt0.o 可能需要的系统 libc 库拉取。
// 导入 crt0.o 可能需要的系统 libc 库。
#[cfg(not(windows))]
extern crate libc;

use core::ffi::{c_char, c_int};
Expand Down
2 changes: 1 addition & 1 deletion src/intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
>
> 如果大家对于翻译有更好的建议或者想法,欢迎直接 PR~
>
> 目前翻译基于 commit:4993547527efa0bc81b0867247d20ff2b5636cfb,基于时间:2024/4/3
> 目前翻译基于 commit:0ebdacadbda8ce2cd8fbf93985e15af61a7ab895,基于时间:2024/6/5
>
> Q:为什么不基于之前已有的中文版进行改进?
>
Expand Down

0 comments on commit 35dbec8

Please sign in to comment.