xref: /libCEED/julia/LibCEED.jl/docs/src/C.md (revision dc8efd83546faf0200bf0bfcfb1678fae1874cc5)
1# Low-level C interface
2
3The low-level interface (provided in the `LibCEED.C` module) is in one-to-one
4correspondence with the C libCEED iterface, and is automatically generated (with
5some minor manual modifications) using the Julia package
6[Clang.jl](https://github.com/JuliaInterop/Clang.jl/). The code used to generate
7bindings is available in `generate_bindings.jl`.
8
9With the low-level interface, the user is responsible for freeing all allocated
10memory (calling the appropriate `Ceed*Destroy` functions). This interface is not
11type-safe, and calling functions with the wrong arguments can cause libCEED to
12crash.
13
14It is generally recommended for users to use the Julia interface exported from
15the `LibCEED` module, unless other specific low-level functionality is required.
16