20 个仓库
Wrappers that provide high-level language interfaces for libraries written in C.
Distinct from Native Library Integrations: Focuses on wrapping a specific C library (libcurl) for API access rather than general native integration frameworks.
Explore 20 awesome GitHub repositories matching programming languages & runtimes · C-Library Bindings. Refine with filters or upvote what's useful.
OpenCC is a library and command-line tool for converting text between Simplified Chinese, Traditional Chinese, and Japanese Kanji. It operates at both the individual character and multi-character phrase levels, and applies region-specific vocabulary choices for Mainland China, Taiwan, and Hong Kong during conversion. The conversion engine resolves ambiguous character mappings using semantic and contextual rules, normalizes variant character forms for consistent orthography, and sequences multiple dictionary files into a configurable pipeline. It supports embedding custom conversion rules dire
Provides C++ library with Python, Node.js, and command-line bindings for Chinese script conversion.
Xgo is a programming language that combines familiar constructs from languages like C/C++, Go, Python, and JavaScript with a natural language-style syntax that reads closer to plain English. It executes programs compatible with the Go language, allowing reuse of existing Go libraries and tooling, and supports mixing Go and XGo source files within a single package for gradual adoption of its simplified syntax. The language distinguishes itself through direct foreign function interface capabilities, enabling calls to C/C++ and Python libraries using specialized string literal syntax without man
Provides direct foreign function interface to C/C++, Python, and JavaScript libraries without manual bindings.
SWIG is a tool that generates wrapper code to expose C and C++ libraries to a wide range of higher-level programming languages. It reads annotated C/C++ header files and produces language-specific bindings from a single interface definition, supporting languages such as Python, Java, Ruby, C#, Perl, and many others. The generated wrapper code is free from the project's GPL license, allowing users to distribute it under their own terms. The tool handles modern C++ features including templates, namespaces, smart pointers, and constructs up to C++20 through specialized parsing and code generatio
Reads annotated C/C++ headers and produces glue code for many scripting and compiled languages.
GmSSL is an open-source cryptographic library that implements the Chinese national cryptographic standards SM2, SM3, SM4, SM9, and ZUC as a unified algorithm suite. It provides a comprehensive set of cryptographic primitives including symmetric and asymmetric encryption, digital signatures, hashing, and key exchange, all built around these national standards for government and enterprise security applications. The library distinguishes itself through several integration capabilities. It includes an OpenSSL compatibility layer that maps GmSSL functions to OpenSSL API calls, enabling drop-in re
Integrating cryptographic functions into applications via API bindings for Java, PHP, and Go.
mlpack is a header-only C++ machine learning library that defines matrix types as compile-time templates, enabling flexible numeric precision and memory layout without runtime overhead. Its core identity is built around a template metaprogramming architecture that allows algorithms to be included selectively as independent modules, reducing binary size, and supports compile-time serialization of neural network parameters by deducing matrix types and structure at compile time. The library distinguishes itself through a multi-language binding framework that automatically generates bindings for
Generates bindings for Python, R, Julia, Go, and the command line from a single C++ API definition.
这是一个中文自然语言处理工具包,提供了一套用于分词、词性标注和命名实体识别的工具。它包括一个用于分析词间句法和语义关系的神经依存句法分析器,以及一个用于使用标注数据集创建自定义语言模型的机器学习训练套件。 该工具包的独特之处在于其部署灵活性,提供了一个 Docker 化服务器和一个通过 API 暴露处理能力的 Web 服务接口。它支持使用预训练模型,并允许集成外部词库和词典扩展以提高分析准确性。 该项目广泛涵盖了完整的语言任务流水线,包括句子分割、句法依存映射和语义角色标注。这些功能可通过命令行界面、独立模块或集成分析流水线使用。 核心逻辑采用 C++ 实现,并提供 Python 和 Java 的官方语言绑定。
Provides official programmatic interfaces to the native C++ core via Java and Python bindings.
Ultralight 是一个 GPU 加速的 HTML UI 渲染器和 C++ 框架,旨在将 Web 界面嵌入到原生应用程序中。它充当轻量级 Web 浏览器和跨平台 UI 框架,将 HTML、CSS 和 JavaScript 直接渲染到 CPU 像素缓冲区或 GPU 纹理中。 该项目的独特之处在于允许开发人员通过自定义 GPU 驱动程序接口发出原始几何图形和绘制调用,从而消除了中间的 CPU 位图。它通过 C++ Web 界面库实现了原生逻辑与 Web 环境的深度集成,该库将原生函数和对象绑定到 JavaScript 虚拟机。 该引擎涵盖了广泛的功能,包括渲染树布局渲染、异步视图管理和主机控制的渲染周期。它支持自定义平台处理程序,用于覆盖操作系统级的文件和剪贴板行为、用户输入转发,以及将 Web 资源直接打包到应用程序二进制文件中的能力。 该渲染器可以通过社区维护的 C#、Java 和 Rust 包装器集成到各种编程语言中。
Provides multi-language bindings (C#, Rust, Java) to connect web front-ends with native C++ logic.
本项目是 Go 编程语言综合指南的中文翻译版。它作为一个本地化的教育资源和技术手册,旨在为语言语法、设计和软件开发提供指导。 该资源涵盖了广泛的 Go 语言教育内容,包括编程模式的实现和系统设计。它包含翻译后的课程和示例,重点关注并发和接口使用等核心语言特性。 内容跨越了多个能力领域,包括语言基础、数据建模、运行时反射和内存管理。它还详细介绍了软件架构、错误处理、质量保证和 Web 网络编程。 该文档结构为技术手册,包含翻译内容、勘误和修正,以确保学习的准确性。
Details the creation of bindings for functions written in other languages to extend native capabilities.
Caffe is a high-performance deep learning framework and convolutional neural network library designed for training and deploying neural networks. It functions as a GPU-accelerated machine learning engine with a core implemented in C++ to enable high-throughput tensor operations. The project utilizes a declarative configuration system where model architectures and hyperparameters are defined in external text files, separating the network design from the execution code. It includes a model serialization system to export trained weights and topologies into binary files for efficient deployment a
Provides a unified system accessible via a CLI and official bindings for Python and MATLAB.
Remacs 是用 Rust 实现的 Emacs 文本编辑器重写版。它是一个可编程且可扩展的文本编辑器,旨在提高内存安全性和执行性能。 该项目包含一个原生接口,将 C 库函数和结构映射到 Rust 以执行原生逻辑。它使用原生系统 API 进行跨平台图形界面渲染。 该编辑器提供实时文本编辑,并支持开发自定义输入法和语言词典。开发过程利用容器化环境来确保构建依赖项和工具链的一致性。
Provides bindings that map binary functions and structures to execute native logic from external C libraries.
Typhoeus is a Ruby wrapper for libcurl that functions as a session-based HTTP client. It provides an interface for making both synchronous and asynchronous network requests. The project acts as a parallel request manager, using a managed queue to execute multiple network requests concurrently. It further distinguishes itself as a mocking tool for stubbing requests with predefined responses and as a caching layer that stores responses to avoid redundant network calls. The library covers a broad range of capabilities including session cookie management, response body streaming for large files,
Functions as a Ruby wrapper for the C-based libcurl library to handle low-level socket and protocol management.
Pathfinder 是一个高性能图形引擎,专为 GPU 加速的矢量渲染和排版而设计。它作为一个光栅化器,通过将几何计算和覆盖处理卸载到 GPU 计算着色器,将复杂的矢量路径、字体和文档格式转换为像素数据。 该引擎通过将矢量图形和文本投影到三维环境中的能力脱颖而出,支持空间用户界面的开发。它采用基于瓦片的遮挡剔除技术来优化重叠形状和复杂工作负载的渲染,同时利用分数梯形抗锯齿和子像素采样来确保视觉清晰度和边缘平滑。 除了核心渲染功能外,该项目还提供稳定的二进制绑定,允许将其作为库嵌入到使用各种编程语言编写的应用程序中。这种跨语言架构使得在包括矢量动画格式播放的各种软件环境中都能获得一致的视觉输出。
Provides multi-language bindings to embed high-performance vector rendering capabilities into various applications.
Zen-C is a multi-target systems language and source-to-source compiler that translates high-level logic into human-readable GNU C or C11 code. It functions as a JIT-enabled programming language with an in-process compiler for real-time interactive code evaluation and testing. The project serves as a CUDA GPU kernel generator, mapping specialized syntax to CUDA C++ using device attributes to target graphics hardware. It acts as an interoperability layer capable of emitting compatible code for C++, Objective-C, and Lisp to bridge native system frameworks and libraries. The language includes an
Connects native C++ headers and libraries with high-level logic by emitting compatible code.
Vulkan-Hpp is a header-only C++ binding library for the Vulkan graphics and compute API. It provides a type-safe wrapper around the Vulkan C API, allowing developers to interface with GPU hardware through a C++ interface that introduces no runtime CPU overhead. The library utilizes Resource Acquisition Is Initialization patterns to manage the lifecycle of Vulkan handles and objects, automating the release of GPU resources. It replaces C-style enumerations and bit-fields with strong typing and static type checking to catch invalid API parameter assignments during compilation. The project cove
Provides high-level C++ language bindings for the Vulkan C API.
GodotSteam is a game engine plugin and API wrapper that integrates the Steamworks SDK into the Godot engine. It serves as a bridge between the engine's scripting layer and platform services, allowing applications to access social features and platform-specific connectivity. The project utilizes a C++ wrapper and a C-compatible foreign function interface to bind the Steamworks SDK. It includes a session manager that handles application ID initialization and enforces that the application is launched through the Steam client to validate ownership and session integrity. The integration covers se
Binds the Steamworks C++ SDK to Godot using a GDExtension-based shared library for native performance.
This is an Android multimedia player designed to decode and play a wide variety of audio and video formats. It functions as a network media streamer and a multimedia library manager, indexing local files into a searchable database for organized access. The project includes a high-fidelity audio processor for routing signals through hardware interfaces like SPDIF and HDMI, and a Chromecast media controller for streaming content to external renderers and UPnP devices. It supports advanced visual rendering, including high dynamic range video with tonemapping, 360-degree video, and spatial audio.
Integrates a native C-based multimedia framework using C-library bindings for high-performance decoding.
This project provides Rust bindings for the Dear ImGui library, enabling the creation of high-performance graphical user interfaces using an immediate-mode paradigm. By defining interface elements directly within the application render loop, it eliminates the need for persistent object hierarchies, allowing for rapid prototyping and dynamic visual updates. The library distinguishes itself by wrapping complex native function signatures in type-safe builders, which improves developer ergonomics while maintaining the performance characteristics of the underlying C++ implementation. It utilizes a
Provides low-level foreign function interfaces to integrate custom graphical user interface components with native C++ libraries for high-performance rendering.
python-magic is a C-binding wrapper that provides a Python interface for the libmagic system library. It functions as a file signature analyzer and MIME type detector, identifying file formats by comparing header bytes against a database of known binary signatures. The library enables the identification of file types from both file paths and raw data buffers. It supports custom file signature matching through the injection of user-provided magic databases, allowing for the detection of specialized or proprietary formats. The project covers binary data analysis and MIME type mapping to transl
Provides a Python interface for programmatic access to the underlying libmagic C library.
Hora is a vector similarity search library written in Rust designed for efficient approximate nearest neighbor retrieval in high-dimensional data spaces. It functions as a compiled search engine that organizes vector spaces using hierarchical graphs, trees, and product quantization, while computing proximity through various mathematical distance formulas including Euclidean, Manhattan, cosine, and dot product calculations. The library supports high-performance execution through hardware-accelerated instruction sets and concurrent thread dispatch across multiple hardware processors. To accommo
Integrates high-speed vector search capabilities into Python, JavaScript, Java, and other tech stacks using native programming language bindings.
ICU4X is a modular internationalization library written in Rust, designed as a cross-platform toolkit for formatting text, dates, numbers, and identifiers according to specific regional and cultural rules. It decomposes internationalization features into independent micro-libraries and embeds optimized binary structures directly into application binaries during the build phase via compile-time code generation, or loads externalized cultural datasets dynamically on demand. The library utilizes zero-allocation data structuring to access internationalization properties directly from serialized
Produces foreign function interface wrappers to integrate core software libraries seamlessly across diverse programming language environments.