Como chamar uma função C em Python

Como chamar uma função C em Python
Python e C são linguagens de programação populares, permitindo que os usuários criem vários aplicativos móveis e baseados na Web. No entanto, essas linguagens de programação requerem diferentes ambientes e pacotes para executar em seu sistema. Mas eles podem ser integrados, especialmente chamando uma função C em Python.

Se você não tiver certeza se pode ser possível chamar uma função C em Python, siga as diretrizes deste artigo para obter mais ajuda.

Chame uma função C em Python

Chamar uma função C em Python é uma questão de etapas simples discutidas abaixo:

Passo 1: Primeiro, crie um arquivo C em qualquer sistema. Estou criando o arquivo em um sistema Linux usando o seguinte comando:

Nano mycode.c

Passo 2: Dentro do arquivo, adicione a seguinte função.

int mycode (int numb)

se (entorpece == 0)
// não execute nenhuma operação se o número for 0.
retornar 0;
outro
// retornar 1 mais retornar 0 se o número for potência de 2
return ((Numb & (Numb - 1)) == 0 ? 1: 0);

Observação: Você pode adicionar qualquer função C que deseja dentro do arquivo.

Etapa 3: Agora, você deve gerar uma biblioteca compartilhada “Libfun.então" do arquivo usando o seguinte comando:

cc -fpic -shared -o libfun.então mycode.c

Isso gera o “Libfun.então" Biblioteca compartilhada no sistema.

ctypes é uma biblioteca Python que permite aos usuários chamar uma função C dentro de um programa Python. Para usar esta biblioteca, os usuários devem importá -la no início do programa Python.

Passo 4: Vamos criar um arquivo python usando o Nano Editor no Linux a partir do seguinte comando:

nano myfile.py

Etapa 5: Dentro do arquivo, adicione o seguinte código:

importar ctypes
Num = 16
# libfun carrega o arquivo python
# via diversão.mycode (),
# Acesse a função C
diversão = ctypes.CDLL ("Localização do Libfun.então ") # ou caminho completo para arquivar
# ctypes verificará sempre que um argumento for passado
diversão.mycode.argtypes = [ctypes.c_int]
# Ligue para a função usando instantâneo (diversão)
# Retorne o valor por função em C
# código
retornvale = diversão.mycode (num)

Observação: Verifique se a substituição “Mycode ()” com o nome da sua função e a localização de libfun.então arquivo.

Etapa 6: Salvar o arquivo usando “Ctrl+X”, adicionar "Y" e entre para sair.

Etapa 7: Execute o código Python para confirmar sua compilação bem -sucedida no sistema.

python3 myfile.py

Dessa forma, você pode chamar uma função C em Python em qualquer sistema, seguindo as etapas acima dadas.

Conclusão

Chamando uma função C dentro do Pitão o programa pode ser feito facilmente criando primeiro uma função C dentro de um arquivo com um .c extensão. Em seguida, compila o arquivo para gerar uma biblioteca compartilhada depois disso, importar “Ctypes” Biblioteca em um programa Python e use a biblioteca compartilhada dentro do código para chamar uma função em Python em qualquer sistema.