QNA > C > Come Compilare Una Cartella Dati In Un .Exe, Se Il .Exe Richiede I Dati Nella Cartella Dati Per Funzionare

Come compilare una cartella dati in un .exe, se il .exe richiede i dati nella cartella dati per funzionare

Stai facendo questa domanda come se fosse semplicemente un dettaglio di implementazione per convertire i dati che sono attualmente memorizzati come uno o più file in una cartella in una parte dell'exe.

Ma stai davvero cambiando l'architettura di un pezzo di software, e hai bisogno di sapere qualcosa sul perché è stato originariamente fatto con file dati separati, poi guarda i vantaggi e gli svantaggi di fare qualcosa di diverso. Potrebbe essere che combinare tutti i file in un unico grande .exe sia davvero una cattiva idea.

Cose che dovreste capire sull'implementazione esistente:

  • Quanto sono grandi i file di dati, rispetto al codice eseguibile?
  • L'eseguibile carica tutti i dati dai file in memoria all'avvio, o i dati sono accessibili periodicamente mentre l'eseguibile viene eseguito?
  • Ogni esecuzione del programma usa tutti i dati nei file? O legge solo una piccola frazione dei dati, a seconda di ciò che c'è nel suo input?
  • I dati nei file sono una semplice tabella o array di strutture che vengono lette in memoria senza molta manipolazione? O il processo di lettura dei dati costruisce una struttura complessa in memoria?

Ci sono diversi modi possibili per includere i dati nel programma eseguibile, se la quantità di dati è di dimensioni pratiche. Le tabelle fisse possono essere costruite direttamente come strutture inizializzate in molti linguaggi di programmazione. Oppure, se un'ampia elaborazione avviene tra i file e la forma interna dei dati, si può scrivere un "preprocessore" exe che legge tutti i file, costruisce le tabelle interne dei dati, e poi scrive tutte queste tabelle in un singolo file binario che l'exe può caricare rapidamente e senza quasi alcun overhead. (Ma attenzione: questo può facilmente produrre un file intermedio che non è portabile su più architetture di computer perché le dimensioni dei dati e l'imballaggio variano). O se i file rappresentano valori precompilati di una funzione, forse si può riorganizzare il codice per calcolare una tabella di valori nel .exe all'avvio, evitando di leggere i file esterni. Oppure potete calcolare la funzione ogni volta che un risultato è necessario, piuttosto che usare una tabella.

Se non sapete cosa significano i dati, e come e quando vengono usati, non potete fare buone scelte su come cambiare l'architettura - e nemmeno chiunque altro su Quora, perché non lo sappiamo neanche noi.

Di Trask Segobia

Quali sono le migliori impostazioni dell'immagine per un televisore LG? :: Perché gli LCD appaiono scuri quando sono inclinati?
Link utili