Use CBinding.jl to automatically create C library bindings with Julia at runtime. In order to support the fully automatic conversion and avoid name collisions, the names of C types or functions are mangled a bit to work in Julia. Therefore everything generated by CBinding.jl can be accessed with the c"..." string macro to indicate that it lives in C-land. As an example, the function func above is available in Julia as c"func". It is possible to store the generated bindings to more user-friendly names (this can sometimes be automated, see the j option). Placing each C declaration in its own macro helps when doing this manually.

Features

  • Fully supports C's struct, union, and enum types
  • Alignment strategies
  • Anonymous types
  • Inline functions (experimental opt-in)
  • Function calling conventions
  • Automatic callback function pointers

Project Samples

Project Activity

See All Activity >

License

MIT License

Follow CBinding.jl

CBinding.jl Web Site

Other Useful Business Software
Forever Free Full-Stack Observability | Grafana Cloud Icon
Forever Free Full-Stack Observability | Grafana Cloud

Our generous forever free tier includes the full platform, including the AI Assistant, for 3 users with 10k metrics, 50GB logs, and 50GB traces.

Built on open standards like Prometheus and OpenTelemetry, Grafana Cloud includes Kubernetes Monitoring, Application Observability, Incident Response, plus the AI-powered Grafana Assistant. Get started with our generous free tier today.
Create free account
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of CBinding.jl!

Additional Project Details

Programming Language

Julia

Related Categories

Julia Data Visualization Software

Registered

2023-11-30