Creé un archivo SFX> 4GB (los archivos autoextraíbles) en 7-Zip, sin previo aviso. Cuando el destinatario intentó extraerlo, obtuvo esta cinta de error:
Descubrí que es porque .exe
es más grande que 4GB. Después de instalar 7-Zip, pudo extraer el archivo, pero me pregunto ¿por qué Windows no puede ejecutar un archivo ejecutable? ¿Y es posible mediante alguna anulación?
windows
computer-architecture
Louis Waweru
fuente
fuente
Respuestas:
Windows no admitirá ejecutables de más de 4 GB de tamaño según este hilo:
http://sourceforge.net/p/sevenzip/discussion/45798/thread/337fc13e/
El comentarista "Igor Pavlov" es el creador y el mantenedor de 7-Zip. Si bien ese comentario es algo breve, hay otros hilos en los foros de sourceforge que repiten el mismo consejo. No creo que ejecutar el ejecutable en un sistema operativo de 64 bits haga ninguna diferencia, ya que esto podría ser una limitación del tamaño de un archivo ejecutable de Windows, es decir, una limitación del formato de Windows PE en sí.
Este artículo sobre la escritura de programas de 64 bits sugiere que:
Presumiblemente, Igor ha ideado una forma de usar ± 2GB para lograr 4GB.
fuente
4GiB - 1B = 2^32 - 1 bytes = 4,294,967,295 bytes
. Pude verificarlo en Windows 10 de 64 bits creando archivos autoextraíbles con WinRAR en forma de archivos .EXE. Un ejecutable con un tamaño de4GiB
no se iniciará, pero4GiB - 1B
funciona bien.Tener un ejecutable autoextraíble de más de 4 GB está en el extremo, ya que hay un límite de 4 gb en los archivos ejecutables de Windows como * .exe, * .dll, etc. para PE32 y una versión de 64 bits PE32 + (se aplica a 32 bits y 64 -bit versiones).
En segundo lugar, el archivo ejecutable se carga completamente en la RAM antes de la ejecución e incluso si usted no está limitado por Windows (pero usted sí lo está), el hardware, que es la cantidad física de RAM en ese caso, podría limitarlo fácilmente.
fuente