https://github.com/openbfdev/bfdev
Official repository of bfdev, A C lang algorithm & container library that balances performance, cross-platform compatibility and memory savings while providing a user-friendly API.
https://github.com/openbfdev/bfdev
algorithms android c embedded freebsd library linux macos structure windows
Last synced: 16 days ago
JSON representation
Official repository of bfdev, A C lang algorithm & container library that balances performance, cross-platform compatibility and memory savings while providing a user-friendly API.
- Host: GitHub
- URL: https://github.com/openbfdev/bfdev
- Owner: openbfdev
- Created: 2023-02-26T13:13:59.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2026-02-09T17:12:07.000Z (19 days ago)
- Last Synced: 2026-02-09T20:37:36.015Z (18 days ago)
- Topics: algorithms, android, c, embedded, freebsd, library, linux, macos, structure, windows
- Language: C
- Homepage: https://deepwiki.com/openbfdev/bfdev
- Size: 7.81 KB
- Stars: 15
- Watchers: 0
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: COPYING
- Authors: AUTHORS
Awesome Lists containing this project
README
# BFDEV Introduce
[](https://www.bestpractices.dev/projects/8769)
bfdev is a high-performance, aesthetically pleasing, and portable infrastructure provisioning library. Its goal is to provide a comprehensive and streamlined development environment.

## Continuous Integration Status
| Status (master) | Status (devel) | Description |
| :-------------: | :------------: | :---------: |
| [](https://github.com/openbfdev/bfdev/actions/workflows/ubuntu-gcc.yml?query=branch%3Amaster) | [](https://github.com/openbfdev/bfdev/actions/workflows/ubuntu-gcc.yml?query=branch%3Adevel) | Build default config on Ubuntu GCC |
| [](https://github.com/openbfdev/bfdev/actions/workflows/ubuntu-clang.yml?query=branch%3Amaster) | [](https://github.com/openbfdev/bfdev/actions/workflows/ubuntu-clang.yml?query=branch%3Adevel) | Build default config on Ubuntu Clang |
| [](https://github.com/openbfdev/bfdev/actions/workflows/macos.yml?query=branch%3Amaster) | [](https://github.com/openbfdev/bfdev/actions/workflows/macos.yml?query=branch%3Adevel) | Build default config on Macos |
| [](https://github.com/openbfdev/bfdev/actions/workflows/windows.yml?query=branch%3Amaster) | [](https://github.com/openbfdev/bfdev/actions/workflows/windows.yml?query=branch%3Adevel) | Build default config on Windows |
| [](https://github.com/openbfdev/bfdev/actions/workflows/ubuntu-armv7-gcc.yml?query=branch%3Amaster) | [](https://github.com/openbfdev/bfdev/actions/workflows/ubuntu-armv7-gcc.yml?query=branch%3Adevel) | Cross build ARMv7 default on Ubuntu GCC |
| [](https://github.com/openbfdev/bfdev/actions/workflows/ubuntu-aarch64-gcc.yml?query=branch%3Amaster) | [](https://github.com/openbfdev/bfdev/actions/workflows/ubuntu-aarch64-gcc.yml?query=branch%3Adevel) | Cross build AArch64 default on Ubuntu GCC |
| [](https://github.com/openbfdev/bfdev/actions/workflows/ubuntu-mips-gcc.yml?query=branch%3Amaster) | [](https://github.com/openbfdev/bfdev/actions/workflows/ubuntu-mips-gcc.yml?query=branch%3Adevel) | Cross build MIPS default on Ubuntu GCC |
| [](https://github.com/openbfdev/bfdev/actions/workflows/ubuntu-mips64-gcc.yml?query=branch%3Amaster) | [](https://github.com/openbfdev/bfdev/actions/workflows/ubuntu-mips64-gcc.yml?query=branch%3Adevel) | Cross build MIPS64 default on Ubuntu GCC |
| [](https://github.com/openbfdev/bfdev/actions/workflows/generic-arm-gcc.yml?query=branch%3Amaster) | [](https://github.com/openbfdev/bfdev/actions/workflows/generic-arm-gcc.yml?query=branch%3Adevel) | Cross build ARM default on Generic GCC |
| [](https://github.com/openbfdev/bfdev/actions/workflows/codeql.yml?query=branch%3Amaster) | [](https://github.com/openbfdev/bfdev/actions/workflows/codeql.yml?query=branch%3Adevel) | Code analyse on codeql |
## Why Choose
- The library provides common data structures, eliminating the need to reinvent the wheel.
- Supports dynamic checking of data structures.
- Designed with an object-oriented approach, providing compatibility with various project.
- Offers a rich and well-organized set of APIs for users.
- Conforms to the GNUC standard, ensuring strong cross-platform compatibility.
> [!NOTE]
> We are seeking developers to collaborate with us on improve this project.
View supported components: [Docs](docs/components.md)
## Directory Structure
```
.
├── arch
├── cmake
├── docs
├── examples
├── include
├── scripts
└── src
```
| Directory | Description |
| :-------: | :----------------------: |
| arch | ISA related code |
| cmake | cmake configuration file |
| docs | doc for guiding |
| exampes | unit testing and case |
| include | include path |
| scripts | build scripts |
| src | core code path |
## Reference Path
```mermaid
graph LR
include[include]
include/asm-generic[asm-generic]
arch/asm[asm]
arch/asm-generated{exist}
subgraph target[User Installation]
include/bfdev[bfdev]
include/bfdev/asm-generic[bfdev:asm-generic]
arch/bfdev/asm[bfdev:asm]
arch/bfdev/asm-generated{exist}
end
include --> arch/asm-generated
arch/asm-generated --Y--> arch/asm
arch/asm -.-> include/asm-generic
arch/asm-generated --N--> include/asm-generic
include/bfdev --> arch/bfdev/asm-generated
arch/bfdev/asm-generated --Y--> arch/bfdev/asm
arch/bfdev/asm-generated --N--> include/bfdev/asm-generic
arch/bfdev/asm -.-> include/bfdev/asm-generic
include --> include/bfdev
arch/asm --> arch/bfdev/asm
include/asm-generic --> arch/bfdev/asm
```
## Documentation Tutorial
Quickly start, API manual, see [Bfdev Documentation Tutorial](https://openbfdev.github.io/bfdev-docs)
> [!CAUTION]
> This project requires additional testing. If used in a production environment, please be aware of the associated risks.
## License
This is free software: you can redistribute it and/or modify it under the terms of the latest GNU Lesser General Public License as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/.