2015-05-02 8 views
6

Stavo guardando nella sezioneRegistro modifiche al http://haxe.org/download/version/3.2.0-rc.2/ e trovato questo alla fine di Nuove caratteristiche lista:cos'è lo script cppia?

cpp : inititial implementation of cppia scripting 

Qualcuno può dirmi cosa significa questo? Posso dire che ha qualcosa a che fare con C++, ma su google questo non ha nulla a che vedere con la programmazione/scripting a meno che non si contino i risultati relativi a Haxe.

+1

Allora forse si dovrebbe chiedere l'autore haxe? Non sono sicuro di cosa ti aspetti che facciamo qui. –

+0

@Lightness Races in Orbit: perché dice a [haxe-repo/CONTRIBUTING.md] (https://github.com/HaxeFoundation/haxe/blob/development/CONTRIBUTING.md) –

+0

Huh? Dice cosa? Nulla su quella pagina sembra rilevante per quello che ho detto! –

risposta

6

Cppia (pronuncia "sepia") è una nuova parte del target C++ per Haxe. Non c'è alcuna documentazione ufficiale su questo, motivo per cui è difficile trovare informazioni al riguardo. Nel senso più fondamentale, è un linguaggio "scripting" per hxcpp che può essere compilato ed eseguito senza l'uso di un compilatore C++.

Per compilare su cppia è necessario modificare il file di costruzione hxml. Aggiungi un flag -D cppia alla tua build e modifica l'output per avere un'estensione .cppia. Ecco un esempio.

-cpp out.cppia # the cppia output file 
-main Main  # your Main.hx file 
-D cppia  # this enables cppia compilation 

Dopo aver fatto questo si compila il file hxml come normale con Haxe. Ti darà un file chiamato out.cppia che può quindi essere eseguito attraverso hxcpp usando il comando haxelib run hxcpp out.cppia. Uno svantaggio di questo metodo è che non è possibile utilizzare estensioni native senza creare il proprio host cppia. Quindi se hai bisogno di eseguire qualcosa usando OpenFL o Kha devi aspettare fino a quando non supportano cppia.

In base alle informazioni che ho trovato sembra che cppia sia veloce quanto neko jit. Considerando che i tempi di compilazione sono altrettanto veloci, posso vedere che questa diventa una buona alternativa al target neko in futuro.

Ulteriori informazioni si possono trovare nelle diapositive da un discorso tenuto dal creatore, Hugh Sanderson, a WWX 2015.

http://gamehaxe.com/wwx/wwx2015.swf

+1

Anche NME può essere utilizzato con cppia! https://github.com/nmehost/acadnme – Momer

5

Una breve ricerca indicava solo alcuni registri IRC. Some of them sono utili.

Sembra che sia un formato di output specifico per codice Haxe progettato per l'utilizzo in fase di sviluppo per la modifica rapida del codice. Supponiamo che, nello sviluppo di un gioco, la necessità di ricompilare e ridistribuire l'applicazione ogni volta che apportate un minimo cambiamento rallenta davvero i vostri progressi. Le persone hanno segnalato che questo è un problema con lo sviluppo di iOS.

Cppia sembra affrontare questo con un formato di codice specifico e un compilatore JIT basato su SLJIT (trovato nel repository hxcpp). Presumibilmente (ho concluso che dai log di cui sopra), consente di modificare parti della propria applicazione in fase di runtime.

Detto questo, la cppia come lingua non è probabilmente per uso diretto e deve essere generata dal compilatore.

Questi sono gli indizi più forti che riesco a trovare e sicuramente mi mancano alcuni dettagli. Ma dal momento che la funzionalità è piuttosto nuova, questi dettagli potrebbero non essere noti al momento.

+0

grazie a D-side, ho trovato la cartella SLJIT prima e ho capito subito che qualcosa di diverso da quello che stava generando C++ stava usando questo target di output, ma non riuscivo a scoprire cosa. Non accetterò questa risposta per sapere, aspetterò un po 'prima di fare quello –

+0

@ Futago-zaRyuu potresti chiedere a qualcun altro una conferma, sono curioso di scoprirlo anche io. Una semplice domanda si/no è più facile da rispondere per gli sviluppatori impegnati di "spiegare che cosa è" -tipo. –

+0

@ Futago-zaRyuu qualsiasi progresso sulla conferma di questo? –