Embedding Julia
Embedding Julia
As we have seen in Calling C and Fortran Code, Julia has a simple and efficient way to call functions written in C. But there are situations where the opposite is needed: calling Julia function from C code. This can be used to integrate Julia code into a larger C/C++ project, without the need to rewrite everything in C/C++. Julia has a C API to make this possible. As almost all programming languages have some way to call C functions, the Julia C API can also be used to build further language bridges (e.g. calling Julia from Python or C#).
High-Level Embedding
We start with a simple C program that initializes Julia and calls some Julia code:
#include <julia.h> int main(int argc, char *argv[]) { /* required: setup the Julia context */ jl_init(); /* run Julia com