Add c_variadic to the unstable-book
- Add the c_variadic language feature - Add the c_variadic library feature
This commit is contained in:
parent
210c6071b0
commit
1a6e9e2408
24
src/doc/unstable-book/src/language-features/c-variadic.md
Normal file
24
src/doc/unstable-book/src/language-features/c-variadic.md
Normal file
@ -0,0 +1,24 @@
|
||||
# `c_variadic`
|
||||
|
||||
The tracking issue for this feature is: [#44930]
|
||||
|
||||
[#44930]: https://github.com/rust-lang/rust/issues/44930
|
||||
|
||||
------------------------
|
||||
|
||||
The `c_variadic` language feature enables C-variadic functions to be
|
||||
defined in Rust. The may be called both from within Rust and via FFI.
|
||||
|
||||
## Examples
|
||||
|
||||
```rust
|
||||
#![feature(c_variadic)]
|
||||
|
||||
pub unsafe extern "C" fn add(n: usize, mut args: ...) -> usize {
|
||||
let mut sum = 0;
|
||||
for _ in 0..n {
|
||||
sum += args.arg::<usize>();
|
||||
}
|
||||
sum
|
||||
}
|
||||
```
|
26
src/doc/unstable-book/src/library-features/c-variadic.md
Normal file
26
src/doc/unstable-book/src/library-features/c-variadic.md
Normal file
@ -0,0 +1,26 @@
|
||||
# `c_variadic`
|
||||
|
||||
The tracking issue for this feature is: [#44930]
|
||||
|
||||
[#44930]: https://github.com/rust-lang/rust/issues/44930
|
||||
|
||||
------------------------
|
||||
|
||||
The `c_variadic` library feature exposes the `VaList` structure,
|
||||
Rust's analogue of C's `va_list` type.
|
||||
|
||||
## Examples
|
||||
|
||||
```rust
|
||||
#![feature(c_variadic)]
|
||||
|
||||
use std::ffi::VaList;
|
||||
|
||||
pub unsafe extern "C" fn vadd(n: usize, mut args: VaList) -> usize {
|
||||
let mut sum = 0;
|
||||
for _ in 0..n {
|
||||
sum += args.arg::<usize>();
|
||||
}
|
||||
sum
|
||||
}
|
||||
```
|
Loading…
x
Reference in New Issue
Block a user