Una selezione di compilatori online: eseguiamo e testiamo il codice direttamente nel browser. Statistiche complete sulla memoria

PHP è un linguaggio di programmazione interpretato; ad ogni richiesta, il codice sorgente viene analizzato ed “eseguito”. Questo approccio, ovviamente, è molto conveniente nella fase di sviluppo del progetto, ma introduce un passaggio aggiuntivo nel processo di esecuzione del codice di produzione. Questa l'interpretazione, a prima vista punto forte PHP costa tempo e risorse extra alla CPU.

Di seguito parleremo dei compilatori che consentono di compilare codice php in C++ ed è nell'eseguibile. Pertanto, le applicazioni PHP vengono eseguite direttamente dal processore, bypassando l'interprete.

Controlliamo se tutto va bene nella pratica.

Come lavora l'interprete

L'interpretazione del codice PHP avviene in due fasi:

  1. Analisi del codice e generazione di codici operativi (codici operativi Zend) - istruzioni comprensibili all'interprete.
  2. Esecuzione di codici operativi.

Mentre la prima fase si presta bene all'ottimizzazione (usando una cache opcode), la seconda è abbastanza chiusa: l'interprete è sempre un intermediario tra l'insieme di istruzioni e il processore che le esegue. Senza un interprete, il processore non può capire cosa fare con i codici operativi.

Per eliminare il collegamento dell'interprete sono stati inventati i compilatori, il più popolare e recente dei quali è HipHop di Facebook. Sentiamolo più vicino.

HipHop PHP

HipHop è scritto dagli sviluppatori di Facebook ed è un'applicazione che:
  1. ottimizza il codice PHP
  2. si converte in C++
  3. genera dalla tua applicazione un server web multi-thread che la esegue
  4. compila in codice eseguibile utilizzando g++

Pertanto, l'input è il codice PHP, l'output è un server, parte del quale è la funzionalità scritta.

Controlliamo come HipHop può gestire la compilazione di un'applicazione scritta utilizzando un framework, come Wordpress.

Compilazione Wordpress

Dopo aver installato HipHop, nella cartella src/hphp/ otterremo il file hpp, che è il compilatore. Prima che inizi la compilazione, imposta le variabili di ambiente:

Cd .. # vai alla cartella con hiphop export HPHP_HOME=`pwd` export HPHP_LIB=`pwd`/bin export CMAKE_PREFIX_PATH=`/bin/pwd`/../

e vai avanti!

Scarica Wordpress e decomprimi l'archivio:

Wget http://wordpress.org/latest.tar.gz tar zxvf latest.tar.gz

Copia wp-config-sample.php in wp-config.php e specifica le impostazioni per la connessione al database (nelle impostazioni host specifichiamo 127.0.0.1, non localhost).

Per una compilazione di successo è necessario patchare leggermente Wordpress:

  1. Apri wp-includes/js/tinymce/plugins/spellchecker/classes/SpellChecker.php e sostituisci: function &loopback(/* args.. */) ( return func_get_args(); ) con la funzione &loopback(/* args.. */ ) ( $ret = func_get_args(); return $ret; )
  2. In wp-includes/query.php, invece di if (!isset($q["suppress_filters"])) $q["suppress_filters"] = false; inserisci $q["suppress_filters"] = true;

WordPress è pronto.

Hiphop deve specificare l'elenco dei file che compileremo: lo otterremo e lo salveremo in files.list:

Trovare. -nome "*.php" > file.list

Tutto è pronto per la compilazione, procediamo:

$HPHP_HOME/src/hphp/hphp --input-list=files.list -k 1 --log=3 --force=1 --cluster-count=50

Dopo aver completato il comando, nella cartella temporanea (all'inizio della compilazione, hphp mostrerà il suo percorso, qualcosa del tipo “/tmp/hphp_ptRgV1”) riceveremo un server web compilato. Lanciamolo (se qualcosa è bloccato sulla porta 80, ad esempio apache o nginx, devi prima fermarlo per liberare la porta):

Sudo /tmp/hphp_6s0pzd/program -m server -v "Server.SourceRoot=`pwd`" -v "Server.DefaultDocument=index.php" -c $HPHP_HOME/bin/mime.hdf

Voilà! Andando su http://localost vedremo un blog Wordpress funzionante.

Prestazione

Vediamo se ci sarà un aumento delle prestazioni rispetto alla versione non compilata di WordPress in esecuzione su apache2. Di seguito sono riportati i grafici della dipendenza della velocità di generazione della pagina dal numero di utenti paralleli.

Come puoi vedere, i risultati sono stati scioccanti: il blog compilato funziona in media 6 volte più velocemente! Il numero medio di richieste elaborate al secondo nella versione non compilata è 9 e nella versione compilata è 50! Non so voi, ma questi risultati mi hanno stupito; non mi aspettavo un incremento prestazionale così forte.

Riassumiamo

Dopo risultati così sorprendenti si può dire solo una cosa: i ragazzi di Facebook hanno fatto un ottimo lavoro. Il compilatore rende davvero un'applicazione un razzo e, sebbene l'applicazione debba essere preparata prima della compilazione, ne vale la pena.

In tema:

Se ti è piaciuto il post, clicca su Google +1: mi darà più motivazione a scrivere e sarà semplicemente un piacere.

Tutti i compilatori PHP gratuiti presentati qui possono ricostruire gli script PHP in codice macchina che può essere eseguito su un computer senza scaricare uno speciale interprete PHP o compilarli in un'interfaccia a riga di comando bytecode (per l'installazione è richiesto il framework NET o Mono o il bytecode Java ( dove per l'installazione è richiesta una Java Virtual Machine)).

Tali compilatori possono essere utili per vari scopi: possono velocizzare l'esecuzione dello script perché non vengono più interpretati in fase di runtime; oppure grazie ad essi potrai distribuire le tue applicazioni senza rivelare il codice sorgente (come richiedono altri script commerciali). Suppongo che siano adatti anche nel caso in cui qualcuno voglia scrivere programmi PHP dipendenti dal web e distribuirli con la funzionalità di esecuzione sul desktop (al contrario delle normali applicazioni web che funzionano su un server), tutto questo è possibile perché così PHP è un linguaggio di programmazione facile da imparare e contiene fondamentalmente molte funzioni integrate con accesso a Internet. (In questo caso, dovrai distribuire le applicazioni con un server Web integrato o utilizzare un compilatore che compili il server nella tua applicazione.)

A proposito, se desideri utilizzare l'offuscamento nel tuo codice, sappi che ciò è possibile anche durante l'utilizzo Acceleratore PHP. Tali acceleratori implicano anche un aumento della velocità di esecuzione dello script.

Informazioni utili per chi ancora non sapesse che la versione ufficiale del traduttore PHP è scaricabile dal sito PHP: Processore di ipertesto.

Compilatori PHP gratuiti per comporre codice nativo, script bytecode .NET o Java.

Bambalam (nuovo)

Questo programma produce indipendente Applicazioni Windows EXE per il tuo codice sorgente PHP. Non è realmente un compilatore per codice nativo, poiché codifica e basta codice sorgente e incorpora un interprete PHP, ma questo programma è sicuramente adatto a chi cerca compilatori nativi e bytecode. Nel momento in cui è stato scritto l'intero programma, il suo ambiente di esecuzione era integrato Versione PHP 4.4.4 (il programma non è stato aggiornato dal 2006). Il codice sorgente di Bambalam è disponibile pubblicamente.

Falange (per .NET)

Phalanger compila il tuo codice PHP in bytecode CLI (.exe o .dll). Questo programma può essere eseguito tramite framework .NET 4.0 o Mono. Il tuo codice PHP può utilizzare qualsiasi oggetto .NET e librerie standard aggiuntive Estensioni PHP. L'assembly NET risultante può essere firmato o nascosto. Questo programma produce anche modelli che ti permettono di creare Applicazioni PHP utilizzando VisualStudio. Il programma è rilasciato sotto la licenza Apache.

HipHop per PHP (per codice nativo)

HipHop traduce il tuo codice PHP in codice C++, che viene successivamente compilato utilizzando il compilatore GNU C++ in codice binario eseguibile. Il compilatore supporta tutte le funzionalità di PHP 5.3 (eccetto, ovviamente, cose come valutazione()). Funziona e compila codice per 64 bit Versioni Linux e FreeBSD. Poiché il programma è distribuito sotto forma di codice sorgente, dovrai compilarlo manualmente (tu stesso). È rilasciato sotto la licenza PHP.

Roadsend PHP (per codice nativo).

Il compilatore PHP Roadsend produce binari nativi (eseguibili) per Windows e Linux. I tuoi script non si limitano ai programmi console (righe di comando): possono essere creati utilizzando server Web incorporati, consentendo loro di essere eseguiti nello stesso modo in cui vengono eseguiti su un sito Web, anche se sul tuo sistema utente. Il compilatore è rilasciato sotto la licenza GNU GPL e funziona sotto GNU LGPL. Sfortunatamente, il programma ha interrotto il suo sviluppo attivo.

Progetto Zero (per Java)

(Nota: questo sembra essere software ora è inesistente. Il sito è inaccessibile ormai da sei mesi.) Project Zero include un compilatore e un CLR in grado di compilare il codice PHP in bytecode Java ed eseguirlo. Tieni presente che Project Zero è molto più di un semplice compilatore/runtime PHP; fornisce un ricco framework che ti consente di migliorare le applicazioni web utilizzando PHP o Groovy (un altro linguaggio di scripting). Questo compilatore è disponibile per Windows, Mac OS X e Linux. Per lavorare con questo compilatore, dovrai scaricare il Java Development Kit.

Quale dei compilatori proposti preferisci? Oppure hai un altro traduttore preferito? Lascia le tue osservazioni e commenti qui sotto, saremo felici di leggerli e raccoglierli.

tag: Compilatori PHP, traduzione di script

La compilazione di PHP dal codice sorgente viene spesso eseguita su sistemi simili a Unix. Coloro che lavorano in un ambiente con sistema operativo Windows molto probabilmente scaricheranno e installeranno PHP da pacchetti binari. E anche se non sono d'accordo sul fatto che sia più semplice utilizzare una soluzione precompilata, anche sui sistemi Unix ci sono alcuni vantaggi che possono derivare dalla compilazione di un binario dal sorgente. Nel complesso:

  • Hai l'opportunità ritocchi prodotto finale una volta compilato. Forse vuoi una certa estensione che venga compilata direttamente nel binario anziché caricarla come libreria esterna. O forse vuoi disattivare qualcosa che solitamente è disponibile per impostazione predefinita.
  • Puoi fare un trucco, durante il processo di compilazione se necessario, che potrebbe migliorare le prestazioni per un ambiente specifico (ovviamente, questo presuppone che tu sappia già cosa stai facendo in questo caso non leggeresti questo articolo !).
  • La compilazione potrebbe essere l'unico modo per far funzionare le cose se compilate file binari sono stati costruiti su versioni precedenti con supporto per software e librerie e ora stai lavorando su un nuovo sistema.

Avvertimento: la compilazione può essere frustrante, soprattutto su Windows! È necessario assicurarsi che l'ambiente di compilazione sia configurato correttamente, imparare a utilizzare correttamente il compilatore e altri strumenti di compilazione e soddisfare eventuali dipendenze della libreria. Ci auguriamo che questo articolo sia il tuo primo passo per superare molti di questi ostacoli.

Configurazione dell'ambiente di compilazione

PHP è scritto in C e quindi è necessario un compilatore C se intendi creare PHP dal codice sorgente. C++ è una super suite di C, quindi un buon compilatore C++ dovrebbe essere in grado di compilare codice C, e sebbene non sia sempre così. Per Windows Microsoft visivo, C++ Express (che in seguito si chiamerà VC++) è disponibile gratuitamente sul sito Web di Microsoft. È stata utilizzata l'edizione del 2010.

Quando scegli una versione del compilatore, dovresti tenere presente come eseguirai PHP. Se devi lavorare con mod_php dei binari Apache compilati ufficialmente e vuoi farlo, compila PHP utilizzando Visual Studio 6, poiché questa è la versione di compilazione di Apache. Il modulo deve avere come target la stessa libreria runtime di Apache, in questo caso msvcrt.dll. Se stai creando Apache anche dal codice sorgente o se eseguirai PHP come FastCGI o CLI, questo non è un problema e 2010 funzionerà correttamente.

È inoltre necessario installare il software Software Windows Kit di sviluppo (SDK dopo). L'SDK ci fornisce importanti file di intestazione per Piattaforme Windows, di cui abbiamo bisogno per una compilazione riuscita. Anche in questo caso è stata utilizzata la versione 7.1.

Installa il compilatore e quindi l'SDK. Non discuterò dell'installazione poiché entrambi dispongono di una procedura guidata di installazione grafica che ti guiderà attraverso l'intero processo.

Se disponi di un compilatore funzionante, scarica gli strumenti binari e i pacchetti conosciuti da windows.php.net. Il pacchetto di strumenti binari (sto utilizzando l'archivio 20110915) contiene strumenti di sviluppo come re2c, bison e alcuni comandi aggiuntivi necessari per creare PHP. Il pacchetto conosciuto (sto usando l'archivio 5.4 poiché corrisponde alla versione PHP che compilerò) contiene gli header minimi e le librerie di dipendenze necessarie, ad esempio zlib.h.

Probabilmente è ovvio che desideri scaricare anche il sorgente PHP da windows.php.net. Al momento della stesura di questo articolo, la versione corrente di PHP è la 5.4.6, quindi questo è il numero di versione che vedrai negli esempi.

Questo buona idea creare spazio di lavoro, in cui puoi estrarre il codice sorgente e compilarlo senza influenzare il resto del tuo sistema. Crea una cartella C:\PHP-Dev che fungerà da directory di lavoro, quindi estrai l'archivio binario e gli strumenti al suo interno.

Successivamente, estrai il contenuto dell'archivio, il sorgente PHP in C:\PHP-Dev ora hai php5.4 nella cartella sorgente, quindi estrai il suo archivio deps nella cartella fratello deps. La struttura della directory dovrebbe assomigliare a questa:

Apri il prompt dei comandi di Windows SDK installato con l'SDK (Start => Microsoft Windows SDK => Prompt dei comandi di Windows SDK) ed eseguire i seguenti comandi:

Setenv /release /xp /x86 cd C:\PHP-Dev bin\phpsdk_setvars.bat

È preferibile utilizzare la riga di comando della console SDK prima della normale console cmd.exe, poiché imposta molte variabili di ambiente specifiche per la compilazione del codice sorgente. Anche le compilazioni successive dei comandi dovranno essere eseguite in questa console.

setenv imposta alcune proprietà di build per l'ambiente, in questo caso l'ambiente di destinazione è la versione Windows XP a 32 bit della build. Puoi provare a costruire con /x64 se stai cercando l'avventura. Definizione di diverso Versioni di Windows, come /Vista, molto probabilmente avrà problemi di uscita a causa di alcune strane definizioni negli script (PHP vuole comunque essere compatibile con XP). A meno che tu non sappia veramente cosa stai facendo, probabilmente è più sicuro attenersi ai valori consigliati che ho usato sopra.

Lo script phpsdk_setvars.bat accede ad alcune variabili di ambiente aggiuntive, il processo di compilazione è riuscito a trovare gli strumenti binari.

Tieni presente che tutte queste impostazioni variabili sono solo sessioni temporanee nella console. Se chiudi tutto rapidamente per tornare alla compilazione in un secondo momento, dovrai eseguire nuovamente il comando e, in caso contrario, otterrai errori come il seguente, quando successivamente eseguirai configure, non sarai in grado di continuare:

Controllo di bison.exe in corso... ERRORE: è richiesto il bisonte

Assicurarsi di avere il giusto ambiente di compilazione, le fonti richieste ed eventuali dipendenze è la parte più difficile del processo. Quindi ora che il tuo ambiente è configurato con il codice sorgente e le dipendenze, è il momento di compilare!

Compilazione di PHP

IN riga di comando SDK, vai alla cartella sorgente PHP ed esegui buildconf. Il comando è responsabile della generazione di file di configurazione che verranno creati dal Makefile per controllare il processo di compilazione.

Una volta completato buildconf (ci vorrà solo un secondo), esegui configure --help - ed esamina la guida per quali funzionalità desideri abilitare/disabilitare, quindi esegui nuovamente configure con qualunque opzione desideri. È una buona idea controllare l'output prima di spostarsi, poiché ti avviserà se una qualsiasi delle dipendenze richieste non è disponibile. Se ciò accade, puoi installare le dipendenze ed eseguire nuovamente la configurazione oppure modificare le chiamate per disabilitare le estensioni che ne hanno bisogno.

Infine, esegui NMAKE per avviare la compilazione.

Cd C:\PHP-Dev\php5.4 buildconf configura nmake nmake test

Se una qualsiasi configurazione o NMAKE fallisce, il problema è uno dei due: primo, l'ambiente non è configurato correttamente, secondo, hai abilitato una funzionalità che dipende dalle librerie esterne e le librerie non sono installate sul tuo sistema. Ricontrolla di aver creato l'ambiente secondo le istruzioni sopra riportate e che siano state configurate eventuali librerie aggiuntive che potrebbero essere richieste nelle impostazioni di configurazione sottostanti.

Una volta completato il primo processo di compilazione NMAKE troverai il tuo nuovo File PHP nella cartella Release_TS. Il test NMAKE esegue nuovi test di errore a doppia capacità per garantire che tutto funzioni come dovrebbe. I risultati dei test NMAKE vengono inviati al team QA che dipende da loro per migliorare PHP, quindi potrebbero essere necessari alcuni minuti per lavorarci, è un grosso problema.

A questo punto, puoi anche utilizzare il passaggio aggiuntivo di manutenzione di un rig NMAKE, che creerà Archivi ZIP e binari che possono essere copiati.

Estensioni di compilazione

Esistono due modi per compilare le estensioni PHP: staticamente e dinamicamente. Un'estensione compilata staticamente viene compilata in un binario PHP, mentre un'estensione compilata dinamicamente è una DLL separata che può essere caricata successivamente tramite un file php.ini. Le estensioni sono generalmente compilate come DLL, sebbene ci siano alcuni vantaggi nella compilazione statica e, in definitiva, dipende dalle tue esigenze.

Per compilare estensioni PHP su Windows, estrai la cartella dell'estensione del codice sorgente nella cartella ext della directory dei sorgenti PHP. Quindi, riconfigura lo script eseguendo buildconf --force e ricompilando PHP utilizzando le opzioni appropriate per abilitare l'estensione.

Ad esempio, compiliamo staticamente l'estensione AOP. Scarica il codice sorgente da PECL ed estrailo in una cartella, ext. Quindi segui questi passaggi:

Cd C:\PHP-Dev\php5.4 buildconf --force configure --enable-aop nmake

L'opzione --force, buildconf forza il ripristino dello script di configurazione. Successivamente, esegui configure --help e dovresti vedere l'opzione per abilitare la nuova estensione nell'output. In questo caso è --enable-AOP.

Al termine di nmake, avrai un binario PHP appena creato con AOP.

Le estensioni saranno disponibili come DLL anziché come cotte in PHP, puoi seguire gli stessi passaggi di cui sopra ma specificando "condiviso" come valore per la configurazione consente l'opzione.

Buildconf --force configure --enable-aop=condiviso

Di conseguenza, la DLL si troverà nella cartella Release_TS insieme al binario PHP al termine della compilazione, in questo caso il nome è php_aop.dll .

PS

Compilare su Windows è ancora un po' complicato, soprattutto quando si tratta di estensioni. Essere in grado di compilare il codice sorgente è una buona abilità, soprattutto se si desidera modificare PHP in seguito.

L'articolo è stato preparato per te dal team del sito
Articolo originale:
Tradotto da: Victor Klim

Esistono due tipi di linguaggi di programmazione: interpretati e compilati. Che linguaggio è PHP? Per rispondere a questa domanda dobbiamo comprendere la terminologia.

Un programma che traduce il codice scritto in un linguaggio di programmazione in un altro è chiamato traduttore. Un compilatore è anche un traduttore. Traduce il codice scritto nella lingua alto livello, nel codice macchina. Il processo di compilazione produce un file binario file eseguibile, che può già essere eseguito senza un compilatore.

Un interprete è una categoria completamente diversa. L'interprete non traduce il codice, ma lo esegue. L'interprete analizza il codice del programma ed ne esegue ogni riga. Ogni volta che esegui tale codice, devi utilizzare un interprete.

In termini di prestazioni, gli interpreti sono significativamente inferiori ai compilatori, poiché il codice binario viene eseguito molto più velocemente. Ma gli interpreti ti consentono di controllare completamente il programma durante la sua esecuzione.

Per quanto riguarda PHP, non è né un compilatore né un interprete. PHP è un incrocio tra un compilatore e un interprete. Proviamo a capirlo e osserviamo come PHP elabora il codice.

Diamo un'occhiata all'immagine:

Vediamo che PHP è composto da due blocchi quasi indipendenti: un traduttore e un interprete. Perché hai avuto bisogno di farlo? Ovviamente per ragioni di velocità.

L'input PHP è uno script. Lo traduce (lo traduce), controllandone la sintassi, in uno speciale bytecode (rappresentazione interna). PHP esegue quindi il bytecode (non il codice del programma stesso), ma non crea un file eseguibile.

Il bytecode è molto più compatto del normale codice di programma, quindi è più facile (e veloce) da interpretare (eseguire). Giudicate voi stessi: l'analisi viene eseguita solo una volta nella fase di traduzione e viene eseguito il "prodotto semilavorato" - bytecode, che è molto più conveniente per questi scopi. Pertanto, PHP è più un interprete che un compilatore. Questa “doppia opera” si è resa necessaria per i seguenti scopi.

Considera il ciclo:

Per (i=0;i<10; i++) { Operator_1; Operator_2; Operator_3; ............ Operator_99; Operator_100; }

Questo ciclo “girerà” 10 volte. Per ognuno di questi dieci passaggi, l'interprete deve 100 righe di codice. E deve analizzare ed eseguire 10*100 = 1000 righe di codice! Se converti l'intero ciclo in bytecode una volta, dovrà essere analizzato 10 volte meno! Ciò significa che gli script verranno eseguiti 10 volte più velocemente!

Si scopre che PHP lo è.

La fase principale del lavoro di PHP è l'interpretazione della rappresentazione interna del programma e la sua esecuzione. È questa fase che richiede più tempo negli scenari gravi. Tuttavia il rallentamento non è così significativo.

Vale la pena ricordare che PHP versione 3 era un interprete “puro” e con PHP 4 gli script hanno iniziato a essere eseguiti molto più velocemente, poiché PHP versione 4 (e PHP5) è un traduttore interpretativo.

Il linguaggio Perl, che viene quasi sempre chiamato compilatore, funziona esattamente allo stesso modo: traduce il testo del programma in una rappresentazione interna e quindi utilizza il codice risultante durante l'esecuzione. Quindi, si potrebbe dire che la versione 4 di PHP è un compilatore tanto quanto lo è Perl.

Quindi, siamo costretti a concludere che PHP è un interprete con un blocco di traduzione integrato che ottimizza il flusso di interpretazione.

Usare un interprete (e quindi PHP) ha i suoi innegabili vantaggi:

  • Non è necessario preoccuparsi di liberare la memoria allocata, non è necessario chiudere i file quando si finisce di lavorarci: l'interprete eseguirà tutto il lavoro di routine, poiché il programma viene eseguito sotto il suo vigile controllo;
  • Non è necessario pensare ai tipi di variabile e non è necessario dichiarare una variabile prima del suo primo utilizzo;
  • Il debug dei programmi e il rilevamento degli errori sono notevolmente semplificati: l'interprete ha il controllo completo su questo processo;
  • Nell'ambito delle applicazioni web l'interprete ha anche un vantaggio molto importante: non c'è pericolo che il server si blocchi se il programma non funziona correttamente.

Ci sono anche altri vantaggi. In generale, l'utilizzo di un interprete può conferire agli script la potenza che gli utenti Web si aspettano da essi.

La penalità prestazionale di PHP è evidente nel caso di loop grandi e complessi, quando si elaborano un gran numero di righe, ecc. Tuttavia, tieni presente che questo è l'unico inconveniente di PHP, che apparirà sempre meno man mano che verranno rilasciati processori più potenti , così che alla fine scompariranno del tutto.

<<< Назад
(Cosa c'è di nuovo in PHP5?)
Contenuto Avanti >>>
(Transizione a PHP 5.3)

Se hai altre domande o qualcosa non è chiaro, benvenuto nel ns

Quasi tutti gli sviluppatori prima o poi affrontano la necessità di eseguire o controllare rapidamente del codice, ma non tutti sanno che per un compito così semplice non è affatto necessario eseguire pesanti IDE desktop o compilatori di applicazioni. Basta utilizzare strumenti online che ti permettono di fare tutto molto più velocemente: Ctrl+C, Ctrl+V, Esegui, colpisci - e l'output del programma è già davanti ai tuoi occhi rossastri.

Abbiamo selezionato i migliori compilatori online: alcuni sono abbastanza universali, altri sono personalizzati per compiti rigorosamente definiti. In ogni caso, non saranno superflui.

Codificazione

Koding.com non è un compilatore online nel senso tradizionale. Ogni utente del servizio può crearne diversi a tutti gli effetti macchine virtuali con Ubuntu 14.04, su cui può fare quello che vuole, inclusa la compilazione del codice. Tutte le lingue più diffuse sono supportate per impostazione predefinita, ma puoi facilmente aggiungerne di tue.

Oltre al pannello di controllo per il tuo server, nell'interfaccia sono disponibili un comodo IDE e una finestra terminale. Koding è lo strumento più universale; di seguito esamineremo opzioni più semplici e specializzate.

IdeaOne

IdeOne è un compilatore online e uno strumento di debug che ti consente di eseguire codice in oltre 60 linguaggi di programmazione e le loro versioni specifiche direttamente nel browser.

Per coloro che non hanno una ragazza, i creatori hanno fornito la compilazione del codice nel linguaggio Brainfuck.

JDoodle

Un altro compilatore online che supporta molte lingue, incluse alcune che non troverai in molti altri compilatori online. Una caratteristica interessante di JDoodle è la capacità di collaborare: basta inviare un collegamento alla sessione corrente e generare bug a doppia velocità!

jsFiddle

Non lasciarti ingannare dal nome: jsFiddle non è solo per JavaScript. Questo editor front-end online ti consente di testare qualsiasi combinazione di JavaScript, HTML e CSS. Naturalmente è disponibile il supporto per diversi framework, ad esempio jQuery, Vue, React, TypeScript e preprocessori CSS come SCSS. Per comodità, puoi selezionare un'associazione di tasti dal tuo editor preferito. Vero, solo se il tuo editor preferito è Vim, Emacs o Sublime Text.

CodicePad

CodePad è un servizio minimalista in cui è possibile archiviare codice, condividerlo ed eseguirlo con successivo output dei risultati della sua esecuzione. Esistono molti dei linguaggi più comuni tra cui scegliere, ma sfortunatamente nessuna scelta di versioni specifiche di interpreti o compilatori.

Il suo vantaggio principale è la semplicità e la facilità: il sito funzionerà rapidamente anche con internet lento. Viene fornita la connessione automatica delle intestazioni standard, nonché l'integrazione con Vim o Emacs.

Uno degli svantaggi è la completa mancanza di evidenziazione della sintassi quando si inserisce il codice nel modulo. Tuttavia, quando si visualizza una registrazione già salvata, la retroilluminazione è presente.

GCC GodBolt

GCC GodBolt è un compilatore C++ interattivo. Sono entrato in questa raccolta perché ha un'interfaccia semplice, oltre a gran numero impostazioni, comprese le opzioni che possono essere regolate utilizzando i tasti.

Esistono molte versioni del compilatore tra cui scegliere, comprese quelle più recenti. Da caratteristiche interessanti si può notare trasferimento istantaneo codice di programma in linguaggio assembly.