Jak wywołać funkcję C w Pythonie

Jak wywołać funkcję C w Pythonie
Python i C są popularnymi językami programowania, umożliwiając użytkownikom budowanie kilku aplikacji mobilnych i internetowych. Jednak te języki programowania wymagają różnych środowisk i pakietów, aby działać w systemie. Ale można je zintegrować, zwłaszcza nazywając funkcję C w Pythonie.

Jeśli nie masz pewności, czy może być możliwe wywołanie funkcji C w Pythonie, postępuj zgodnie z wytycznymi tego artykułu w celu uzyskania dalszej pomocy.

Wywołaj funkcję C w Pythonie

Wywołanie funkcji C w Pythonie to kwestia prostych kroków omówionych poniżej:

Krok 1: Najpierw utwórz plik C w dowolnym systemie. Tworzę plik w systemie Linux za pomocą następującego polecenia:

Nano Mycode.C

Krok 2: Wewnątrz pliku dodaj następującą funkcję.

int myCode (int odcięcie)

if (Numb == 0)
// nie wykonuj żadnej operacji, jeśli numer to 0.
powrót 0;
w przeciwnym razie
// zwróć 1, w przeciwnym razie zwróć 0, jeśli liczba wynosi zasilanie 2
return ((Numb i (Numb - 1)) == 0 ? 1: 0);

Notatka: Możesz dodać dowolną funkcję C, którą chcesz w pliku.

Krok 3: Teraz musisz wygenerować udostępnioną bibliotekę „Libfun.Więc" pliku za pomocą następującego polecenia:

cc -fpic -shared -o libfun.Więc mycode.C

To generuje „Libfun.Więc" Udostępniona biblioteka w systemie.

Ctypes to biblioteka Python, która pozwala użytkownikom wywołać funkcję C w programie Python. Aby korzystać z tej biblioteki, użytkownicy muszą ją zaimportować na początku programu Python.

Krok 4: Utwórzmy plik Python za pomocą nano edytora w Linux z następującego polecenia:

Nano myfile.py

Krok 5: Wewnątrz pliku dodaj następujący kod:

Import Ctypes
NUM = 16
# Libfun ładuje plik Python
# przez zabawę.MyCode (),
# Dostęp do funkcji C
FUN = CTYPES.CDLL („Lokalizacja Libfun.więc ") # lub pełna ścieżka do pliku
# Ctypes sprawdzą to za każdym razem, gdy zostanie przekazany argument
zabawa.Mycode.argtypes = [Ctypes.c_int]
# Wywołaj funkcję za pomocą Instant (zabawa)
# Zwróć wartość według funkcji w c
# kod
returnvale = zabawa.MyCode (num)

Notatka: Upewnij się, że zastąpienie „MyCode ()” z Twoją nazwą funkcji i lokalizacją Libfun.Więc plik.

Krok 6: Zapisz plik za pomocą „Ctrl+x”, dodać „Y” i wejdź do wyjścia.

Krok 7: Wykonaj kod Pythona, aby potwierdzić jego udaną kompilację w systemie.

Python3 myfile.py

W ten sposób możesz wywołać funkcję C w Pythonie w dowolnym systemie, wykonując powyższe kroki.

Wniosek

Wywołując funkcję C wewnątrz Pyton Program można łatwo wykonać, najpierw tworząc funkcję C w pliku z .C rozszerzenie. Następnie skompiluj plik do wygenerowania udostępnionej biblioteki, import „Ctypes” Biblioteka w programie Python i użyj biblioteki udostępnionej w kodzie, aby wywołać funkcję w Python w dowolnym systemie.