<h1 align="center">ax-ctor-bare</h1>
<p align="center">Register constructor functions for Rust at compile time under no_std</p>
<div align="center">
[](https://crates.io/crates/ax-ctor-bare)
[](https://docs.rs/ax-ctor-bare)
[](https://www.rust-lang.org/)
[](./LICENSE)
</div>
# Introduction
`ax-ctor-bare` provides Register constructor functions for Rust at compile time under no_std. It is maintained as part of the TGOSKits component set and is intended for Rust projects that integrate with ArceOS, AxVisor, or related low-level systems software.
> ax-ctor-bare was derived from https://github.com/arceos-org/ctor_bare
## Quick Start
### Installation
Add this crate to your `Cargo.toml`:
```toml
[dependencies]
ax-ctor-bare = "0.4.1"
```
### Run Check and Test
```bash
# Enter the crate directory
cd components/ctor_bare/ctor_bare
# Format code
cargo fmt --all
# Run clippy
cargo clippy --all-targets --all-features
# Run tests
cargo test --all-features
# Build documentation
cargo doc --no-deps
```
## Integration
### Example
```rust
use ax_ctor_bare as _;
fn main() {
// Integrate `ax-ctor-bare` into your project here.
}
```
### Documentation
Generate and view API documentation:
```bash
cargo doc --no-deps --open
```
Online documentation: [docs.rs/ax-ctor-bare](https://docs.rs/ax-ctor-bare)
# Contributing
1. Fork the repository and create a branch
2. Run local format and checks
3. Run local tests relevant to this crate
4. Submit a PR and ensure CI passes
# License
Licensed under the Apache License, Version 2.0. See [LICENSE](./LICENSE) for details.