In che modo Gamemaker crea eseguibili?

0

Come fa un programma già compilato a creare file .exe autonomi senza un compilatore apparente? Esempio di software per la creazione di giochi come GameMaker che ti consente di creare un gioco, aggiungere tutte le risorse, le immagini, gli script, ecc. E poi compilarlo in un file exe?

Una delle mie teorie è che esiste già un .exe che è in realtà un giocatore di gioco e Gamemaker semplicemente copia quel file exe e poi lo rinomina con il nome del gioco che hai dato, e i tuoi script sono convertiti in codici operativi e salvati in un file separato, quindi questo file .exe rinominato accede al file ed esegue gli opcode come una macchina virtuale per giocare.

Un'altra teoria sarebbe che gli script sono convertiti in codice c ++ dal gamemaker, che il giocatore chiama quindi il compilatore c ++ per compilare automaticamente il codice in un eseguibile, perché so che posso compilare qualche codice c ++ usando la riga di comando di windows che significa che c'è un compilatore c ++ già incluso nascosto da qualche parte in windows.

    
posta Robert Tattorn 31.08.2018 - 18:51
fonte

2 risposte

3

In generale, puoi aggiungere dati alla fine di un eseguibile e l'eseguibile funzionerà felicemente come se nulla fosse accaduto.

Puoi utilizzare ciò facendo in modo che il tuo eseguibile legga i dati dalla fine indietro e agisca di conseguenza. Ecco come funzionano i file zip autoestraenti.

Molto probabilmente il gamemaker non crea un intero exe da zero, ma viene fornito con un runtime e un interprete, che non cambia mai. Al caricamento, l'interprete legge gli script e le risorse dalla fine del file, quindi li esegue. Questo è il modo in cui le applicazioni VB6 hanno funzionato quando sono state trasformate in .exes.

È possibile che tu possa aprire il tuo exe in un programma come 7z e vedere tutti i tuoi file impacchettati lì.

    
risposta data 31.08.2018 - 21:42
fonte
0

Bene, come fa il compilatore a farlo?

Dopo tutto, un compilatore è un programma già compilato che genera file eseguibili. Ci vuole un po 'di input - codice sorgente, dati di Game Maker, qualche diagramma, qualunque cosa - e sputa una forma alternativa di quell'input. Può essere un exe, ma non ha bisogno di esserlo, i concetti sono gli stessi.

Non ho familiarità con gli interni del gamemaker, ma se dovessi indovinarlo probabilmente si comporta come la tua prima teoria. Ha un codice di ponteggio ben noto che si avvia, carica i dati di gioco (probabilmente incorporati nel file exe) in una rappresentazione interna, quindi la esegue.

L'app gamemaker è solo un'interfaccia utente per definire quella rappresentazione interna e una conoscenza sufficiente per scriverlo su disco insieme a bit eseguibili che sanno come elaborarlo.

    
risposta data 31.08.2018 - 21:43
fonte

Leggi altre domande sui tag