How to Call a C function in Python
Have you ever came across the situation where you have to call C function using python? This article is going to help you on a very basic level and if you have not come across any situation like this, you enjoy knowing how it is possible.
First, let’s write one simple function using C and generate a shared library of the file. Let’s say file name is function.c.
C
int myFunction( int num)
{
if (num == 0)
return 0;
else
return ((num & (num - 1)) == 0 ? 1 : 0) ;
}
|
Compile this :
cc -fPIC -shared -o libfun.so function.c
Using ctypes(foreign function interface) library to call C function from Python
The above statement will generate a shared library with the name libfun.so. Now, let’s see how to make use of it in python. In python, we have one library called ctypes. Using this library we can use C function in python.
Let’s say file name is function.py.
Python3
import ctypes
NUM = 16
fun = ctypes.CDLL( "libfun.so" )
fun.myFunction.argtypes = [ctypes.c_int]
returnVale = fun.myFunction(NUM)
|
Last Updated :
01 Nov, 2023
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...