Рубрики
Без рубрики

Вызов C функций из Python

Мы можем вызвать функцию C из Python Program с использованием модуля CTYPES. Вызов C Функция с Python Это включает в себя следующие шаги: Создание файла C

Автор оригинала: Pankaj Kumar.

Мы можем вызвать функцию C из программы Python, используя CTYPES модуль.

Вызов C функционирует из Python

Это включает в себя следующие шаги:

  1. Создание файла C (расширение .C) с обязательными функциями
  2. Создание общего файла библиотеки (расширение .so) с помощью компилятора C.
  3. В программе Python создайте экземпляр CTYPES.CDLL из общего файла.
  4. Наконец, позвоните в функцию C, используя формат {CDLL_INSTANCE}. {Function_name} ({function_parameters}) Отказ

Шаг 1: Создание файла C с некоторыми функциями

#include 

int 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.