Avatar ·

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