Header files are only usable in C/C++.
Bindings for other languages -- like Rust, Java, assembly, ctypes -- need a C parser (and can't realistically cover all of C), or rewrite macros/inline functions by hand (and hope they react quickly enough to any changes).
All functions should be exported as actual symbols in libpython.
For C/C++, those functions might be "shadowed" by macros/inline functions with the same behaviour.
Header files are only usable in C/C++.
Bindings for other languages -- like Rust, Java, assembly,
ctypes-- need a C parser (and can't realistically cover all of C), or rewrite macros/inline functions by hand (and hope they react quickly enough to any changes).All functions should be exported as actual symbols in
libpython.For C/C++, those functions might be "shadowed" by macros/inline functions with the same behaviour.