Un motore di gioco dovrebbe essere emesso come libreria dinamica o statica?

-1

Volevo fare una domanda probabilmente molto semplice se un motore di gioco fosse una libreria di collegamento dinamico (.dll) o una libreria statica (.lib)?

Attualmente sto facendo il percorso di collegamento dinamico, questo è influenzato dal fatto che ci sono librerie incluse nel motore e se voglio usare il motore in un progetto diverso devo specificare anche il percorso della libreria (per esempio il mio motore usa boost :: filesystem per facilitare l'uso del caricamento dei file, ma se voglio usarlo e avere una libreria statica, devo quindi includere la mia posizione della libreria boost nel progetto che usa il motore e che sembra icky a me)

Quindi, se un motore di gioco è una libreria dinamica, può essere facilmente inclusa senza la necessità di prerequisiti aggiuntivi o una libreria statica che richiede i prerequisiti, ma elimina la necessità di un file .dll, o forse lì è un modo per avere un compromesso tra i due?

    
posta Gytautas 08.06.2018 - 22:18
fonte

1 risposta

1

Se si dispone di una raccolta di giochi che utilizzano il motore e vengono generalmente installati insieme e aggiornati contemporaneamente, l'uso di un dll potrebbe ridurre la quantità di dati sul disco (o scaricati durante gli aggiornamenti). Potrebbe anche, a seconda del sistema operativo e del metodo di caricamento, ridurre l'utilizzo della memoria.

Se, d'altra parte, questo sarà usato in una varietà di giochi diversi, possibilmente da diversi fornitori, ognuno assumendo una versione diversa, quindi fare una libreria statica potrebbe essere una scelta migliore. Mantenere diverse versioni di app sincronizzate con un dll può essere complicato se ci sono potenzialmente più versioni di .dll installate sul disco dell'utente.

    
risposta data 09.06.2018 - 05:14
fonte

Leggi altre domande sui tag