Chamando C/C++ do Python: como integrar código nativo em um projeto Python?
Olá a todos! Escrevo em Python há cerca de dois anos, mas recentemente me deparei com uma tarefa que me deixou perplexo. Preciso acelerar um módulo computacional no meu projeto. Em Python, ele é muito lento (loops com milhões de iterações), e decidi reescrever a parte crítica em C++.
Escrevi uma função simples em C++ para calcular números de Fibonacci:
```cpp
// fibonacci.cpp
#include
extern "C" {
int fibonacci(int n) {
if (n <= 1) return n;
int a = 0, b = 1, temp;
for (int i = 2; i <= n; ++i) {
temp = a + b;
a = b;
b = temp;
}
return b;
}
}
```
Compilei em DLL via MinGW: `g++ -shared -o fibonacci.dll fibonacci.cpp`
Agora estou tentando chamá-la do Python via ctypes:
```python
import ctypes
lib = ctypes.CDLL('./fibonacci.dll')
result = lib.fibonacci(10)
print(result) # Exibe 55 — funciona!
```
Mas este é um caso simples. E se for necessário passar um array de dados
No answers yet.
Faça login para deixar uma resposta