Using C codes in Python | Set 2
Prerequisite: Using C codes in Python | Set 1
In the previous article, we have discussed how to access C code in Python. Now, let’s see how to access C functions.
Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.
To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning - Basic Level Course
Code #1 : Accessing C functions with Python
GCD : 7 divide : (5, 2) avg : 2.0 distance : 4.242640687119285
Now the work done above has an issue that for the overall packaging of C and Python code together, using ctypes to access C code that has been compiled, one has to make sure that the shared library gets placed in a location, where the
work.py module can find it. One possibility is to put the resulting
libsample.so file in the same directory as the supporting Python code.
So, if the C library is installed elsewhere, then path has to be adjusted accordingly. If it is installed as a standard library on the machine, then
ctypes.util.find_library() function can be used.
Code #2 : Path Example
/usr/lib/libm.dylib /usr/lib/libpthread.dylib /usr/local/lib/libsample.so
Again, ctypes won’t work at all if it can’t locate the library with the C code.
ctypes.cdll.LoadLibrary() is used to load the C library, once it’s location is known.