Domanda

(o, "Can PyPy / RPython essere utilizzato per compilare / tradurre Python per C / C ++ senza richiedere il runtime Python ?")

ho cercato di comprendere PyPy con la sua RPython e la sua Python, il suo funzionamento e la sua compilazione e la sua traduzione, e hanno un po 'fallito.

Ho un progetto ipotetico Python (per Windows); Vorrei mantenere la sua dimensione verso il basso, nell'ordine di un centinaio di kilobyte (O.N.O.) piuttosto che i diversi megabyte che utilizzano comporta py2exe (dopo UPX). Posso usare PyPy 1 in alcun modo per produrre un eseguibile standalone, che non dipende da Python26.dll? Se posso, ne ha bisogno di seguire le restrizioni RPython come for solo che lavorano su tipi built, o si tratta di sintassi completa Python?

mi rendo conto che se questo può essere fatto che quasi certamente non potevo usare moduli C da Python direttamente.


1 (Dal momento che il tempo di chiedere, la situazione è diventata più chiara, e questa parte della toolchain è più chiaramente con il marchio di RPython piuttosto che PyPy, ma non è stato così nel 2010 .)

È stato utile?

Soluzione

Sì, PyPy può produrre eseguibili standalone dal codice RPython. Ciò significa, è necessario seguire tutte le regole RPython scomode quando si tratta di scrivere codice. Il tuo codice Python è completamente improbabile che la funzione fuori dalla scatola e il porting del codice Python esistente di solito non è divertente. Non farà gli eseguibili piccolo come C, ma per esempio bersaglio rpystone (da PyPy / traduttore / goal) utilizzando Boehm GC è 80k su 64bit dopo stripping.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top