Casa > C > Como Compilar Uma Pasta De Dados Em Um .Exe, Se O .Exe Requer Os Dados Na Pasta De Dados Para Rodar

Como compilar uma pasta de dados em um .exe, se o .exe requer os dados na pasta de dados para rodar

Você está fazendo esta pergunta como se fosse apenas um detalhe de implementação para converter dados que estão atualmente armazenados como um ou mais arquivos em uma pasta em uma parte do exe.

Mas você está realmente mudando a arquitetura de um software, e você precisa saber algo sobre o porquê de ter sido feito originalmente com arquivos de dados separados, então veja as vantagens e desvantagens de fazer algo diferente. Pode ser que combinar todos os arquivos em um arquivo .exe grande seja uma péssima idéia.

Coisas que você deve entender sobre a implementação existente:

<
  • Quão grandes são os arquivos de dados, comparado ao código executável?
  • O executável carrega todos os dados dos arquivos para a memória ao iniciar, ou os dados são acessados periodicamente à medida que o executável roda?
  • Cada execução do programa usa todos os dados dos arquivos? Ou ele lê apenas uma pequena fração dos dados, dependendo do que está na sua entrada?
  • Os dados nos arquivos são uma simples tabela ou array de estruturas que é lida na memória sem muita manipulação? Ou o processo de leitura dos dados constrói uma estrutura complexa na memória?
p>Existem várias formas possíveis de incluir os dados no programa executável, se a quantidade de dados for um tamanho prático. Tabelas fixas podem ser construídas diretamente como estruturas inicializadas em muitas linguagens de programação. Ou, se o processamento extensivo continuar entre os arquivos e a forma interna dos dados, você pode escrever um "pré-processador" exe que lê todos os arquivos, constrói as tabelas internas de dados e então escreve todas essas tabelas em um único arquivo binário que o .exe pode carregar rapidamente e sem quase nenhuma sobrecarga. (Mas cuidado: isso pode facilmente produzir um arquivo intermediário que não é portável para múltiplas arquiteturas de computador porque o tamanho dos dados e a embalagem variam). Ou se os arquivos representam valores pré-calculados de uma função, talvez você possa reorganizar o código para calcular uma tabela de valores no .exe na inicialização, evitando a leitura dos arquivos externos. Ou você pode calcular a função cada vez que um resultado é necessário, ao invés de usar uma tabela.

Se você não sabe o que os dados significam, e como e quando eles são usados, você não pode fazer boas escolhas sobre como mudar a arquitetura - e ninguém mais no Quora, porque nós também não sabemos.

De Cogswell Whetstone

Qual é a tecnologia por detrás do CRT LED e do LCD? :: Should I buy a Realme X2 Pro?