libc

Raw bindings to platform APIs for Rust

  • 所有者: rust-lang/libc
  • 平台:
  • 許可證: Apache License 2.0
  • 分類:
  • 主題:
  • 喜歡:
    0
      比較:

Github星跟蹤圖

Azure Status Cirrus CI Status Latest Version Documentation License

libc - Raw FFI bindings to platforms' system libraries

libc provides all of the definitions necessary to easily interoperate with C
code (or "C-like" code) on each of the platforms that Rust supports. This
includes type definitions (e.g. c_int), constants (e.g. EINVAL) as well as
function headers (e.g. malloc).

This crate exports all underlying platform types, functions, and constants under
the crate root, so all items are accessible as libc::foo. The types and values
of all the exported APIs match the platform that libc is compiled for.

More detailed information about the design of this library can be found in its
associated RFC.

Usage

Add the following to your Cargo.toml:

[dependencies]
libc = "0.2"

Features

  • std: by default libc links to the standard library. Disable this
    feature remove this dependency and be able to use libc in #![no_std]
    crates.

  • extra_traits: all structs implemented in libc are Copy and Clone.
    This feature derives Debug, Eq, Hash, and PartialEq.

  • const-extern-fn: Changes some extern fns into const extern fns.
    This features requires a nightly rustc

  • deprecated: use_std is deprecated, and is equivalent to std.

Rust version support

The minimum supported Rust toolchain version is Rust 1.13.0 . APIs requiring
newer Rust features are only available on newer Rust toolchains:, Feature, Version, ----------------------, ---------, union, 1.19.0, const mem::size_of, 1.24.0, repr(align), 1.25.0, extra_traits, 1.25.0, core::ffi::c_void, 1.30.0, repr(packed(N)), 1.33.0, ## Platform support

Platform-specific documentation (master branch).

See
ci/build.sh
for the platforms on which libc is guaranteed to build for each Rust
toolchain. The test-matrix at Azure and Cirrus CI show the
platforms in which libc tests are run.

License

This project is licensed under either of

at your option.

Contributing

We welcome all people who want to contribute. Please see the contributing
instructions
for more information.

Contributions in any form (issues, pull requests, etc.) to this project
must adhere to Rust's Code of Conduct.

Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in libc by you, as defined in the Apache-2.0 license, shall be
dual licensed as above, without any additional terms or conditions.

主要指標

概覽
名稱與所有者rust-lang/libc
主編程語言Rust
編程語言Shell (語言數: 7)
平台
許可證Apache License 2.0
所有者活动
創建於2015-01-13 15:54:27
推送於2025-07-08 07:19:00
最后一次提交
發布數200
最新版本名稱0.2.174 (發布於 2025-06-17 17:54:16)
第一版名稱0.2.0 (發布於 )
用户参与
星數2.3k
關注者數40
派生數1.1k
提交數8.5k
已啟用問題?
問題數755
打開的問題數125
拉請求數3228
打開的拉請求數61
關閉的拉請求數491
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?