Автор оригинала: Pankaj Kumar.
Мы можем вызвать функцию C из программы Python, используя CTYPES модуль.
Вызов C функционирует из Python
Это включает в себя следующие шаги:
- Создание файла C (расширение .C) с обязательными функциями
- Создание общего файла библиотеки (расширение .so) с помощью компилятора C.
- В программе Python создайте экземпляр CTYPES.CDLL из общего файла.
- Наконец, позвоните в функцию C, используя формат
{CDLL_INSTANCE}. {Function_name} ({function_parameters})
Отказ
Шаг 1: Создание файла C с некоторыми функциями
#includeint square(int i) { return i * i; }
У нас есть простая функция C, которая вернет квадрат целочисленного числа. Я сохранил этот код функции в файле с именем my_functions.c.
Шаг 2: Создание файла общего библиотека
Мы можем использовать следующую команду для создания файла общего библиотека из исходного файла C.
$ cc -fPIC -shared -o my_functions.so my_functions.c
Шаг 3: Вызов C Функция из программы Python
>>> from ctypes import * >>> so_file = "/Users/pankaj/my_functions.so" >>> my_functions = CDLL(so_file) >>> >>> print(type(my_functions))>>> >>> print(my_functions.square(10)) 100 >>> print(my_functions.square(8)) 64 >>>
Вызов C функционирует из Python
Если вы измените файл программного обеспечения C, вам придется восстановить файл общего библиотека.
Заключение
Реализация Python по умолчанию написана в C программировании и его называется cpython. Поэтому не очень редко использовать функции C в программе Python. В этом руководстве мы узнали, как легко вызвать функции C в программе Python.