Saltar ao contido

Executable

Na Galipedia, a Wikipedia en galego.
Executable
 Subclase de
 Aspecto de
 Oposto a
 Causa de
 Medio usado
Implicados
 Usado por
loader (en) Traducir Editar o valor en Wikidata
Identificadores
Freebase/m/01ftyb Editar o valor en Wikidata
OpenAlexC160145156 Editar o valor en Wikidata
Wikidata

En informática, un ficheiro executable (ou simplemente un executable) refírese a un ficheiro que contén un programa executable para un ordenador, é dicir, un programa escrito en linguaxe máquina que pode ser executado directamente polo procesador.[1] Isto é distinto dun ficheiro fonte, que contén un programa escrito nunha linguaxe de programación de alto nivel que só pode ser executado usando un intérprete ou transformándoo primeiro nun executable (código obxecto + bibliotecas) usando un compilador, ou unha combinación destas dúas ferramentas.

Un executable nativo é código máquina e é executable directamente no nivel de instrución dunha CPU.[2][3] Un script tamén é executable aínda que indirectamente a través dun intérprete. O código executable intermedio (como o bytecode) pode ser interpretado ou convertido a código nativo en tempo de execución mediante compilación xusto a tempo.

Descrición

[editar | editar a fonte]

En xeral, os ficheiros executables dependen da plataforma: por exemplo, un ficheiro executable para un sistema Microsoft Windows non se pode usar directamente en sistemas Unix ou Mac OS (a non ser que se empregue software de emulación).[1]

Esta restrición débese a tres razóns:

  • diferentes procesadores admiten linguaxes máquina que xeralmente son diferentes e incompatibles entre si;
  • os diferentes sistemas operativos xeralmente empregan diferentes formatos para os ficheiros executábeis: por exemplo, en sistemas Unix e semellantes a Unix o formato ELF é común, mentres que noutros sistemas úsase COFF ou os seus derivados, ou mesmo Mach-O;[4]
  • para realizar operacións básicas (por exemplo, entrada/saída) os programas executables deben empregar primitivas proporcionadas polo sistema operativo do ordenador no que se executan, cuxo uso é específico do sistema operativo. Como resultado, mesmo co mesmo procesador, un ficheiro executable para un sistema operativo en particular xeralmente non se pode usar noutras plataformas, é dicir, non é portátil. Por exemplo, os ficheiros executábeis para sistemas Microsoft Windows con arquitectura x86 non se poden usar directamente en sistemas Linux con arquitectura x86, mesmo se ambos usan a mesma clase de procesadores.[1]

Cada sistema operativo ten a súa propia convención para distinguir os ficheiros executábeis dos ficheiros que conteñen datos. Algúns sistemas usan extensións específicas (por exemplo, ".exe" en MS-DOS e Microsoft Windows);[1] outros refírense a atributos especiais do ficheiro indicados nos seus permisos (como o permiso de execución "x" en Unix e sistemas tipo Unix) ou requiren un marcador especial nunha localización fixa dentro do propio ficheiro:[5] aínda en Unix, por exemplo, xunto co bit "x", tamén se emprega o chamado número máxico, é dicir, un ou máis bytes con valores preestablecidos colocados ao comezo do ficheiro que identifican o seu tipo, como no caso de shebang[6] (esta idea estendeuse a outros sistemas operativos incluído AmigaOS, onde o número máxico se denomina magic cookie ou "galleta máxica").[7]

Normalmente, cando se carga un ficheiro executábel na memoria, o código máquina sofre un proceso de reubicación. Noutras palabras, todas as referencias a enderezos de memoria no código tradúcense axeitadamente en función do enderezo base onde se carga realmente o programa. Este problema atíñase co uso de memoria virtual; non obstante, pode ser necesaria a reubicación de bibliotecas dinámicas.[8]

  1. 1,0 1,1 1,2 1,3 "O que é: Executable File". Só Escola (en portugués). 2024-06-23. Consultado o 2025-12-30. 
  2. "executable". Merriam-Webster's Online Dictionary (en inglés). Merriam-Webster. Consultado o 2008-07-19. 
  3. "Machine Instructions". GeeksforGeeks (en inglés). 2015-11-03. Consultado o 2019-09-18. 
  4. "Overview of the Mach-O Executable Format". Apple (en inglés). 2014-10-03. Consultado o 2025-12-30. 
  5. Plachy, Johannes (2023-01-13). "Portable Executable File Format". blog.kowalczyk.info (en inglés). Consultado o 2025-12-30. 
  6. Minx, Rebecca (2024-08-26). "Shebang Line: A Complete Explanation". dev.to (en inglés). Consultado o 2025-12-30. 
  7. Wrobel, Mark (2020-12-28). "Amiga Machine Code Detour - Reverse Engineering" (en inglés). Consultado o 2025-12-30. 
  8. "Vincular um executável a uma DLL". Microsoft (en portugués). 2025-11-06. Consultado o 2025-12-30. 

Véxase tamén

[editar | editar a fonte]

Outros artigos

[editar | editar a fonte]

Ligazóns externas

[editar | editar a fonte]