libc

Raw bindings to platform APIs for Rust

  • Owner: rust-lang/libc
  • Platform:
  • License:: Apache License 2.0
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

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.

Main metrics

Overview
Name With Ownerrust-lang/libc
Primary LanguageRust
Program languageShell (Language Count: 7)
Platform
License:Apache License 2.0
所有者活动
Created At2015-01-13 15:54:27
Pushed At2025-07-08 07:19:00
Last Commit At
Release Count200
Last Release Name0.2.174 (Posted on 2025-06-17 17:54:16)
First Release Name0.2.0 (Posted on )
用户参与
Stargazers Count2.3k
Watchers Count40
Fork Count1.1k
Commits Count8.5k
Has Issues Enabled
Issues Count755
Issue Open Count125
Pull Requests Count3228
Pull Requests Open Count61
Pull Requests Close Count491
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private