Capítulo 3. Módulos WebAssembly

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

Un lugar para cada cosa y cada cosa en su lugar.

Proverbio del siglo XVII

Un sistema operativo ejecuta un programa que suele estar compilado.1 Cada sistema operativo tiene su propio formato que define dónde empezar, qué datos son necesarios y cuáles son las instrucciones para las distintas partes de funcionalidad anunciadas. WebAssembly no es diferente. En este capítulo, vamos a ver cómo se empaqueta el comportamiento y cómo sabrá un host qué hacer con él.

Es posible que los ingenieros de software pasen toda su carrera ignorando cómo se cargan y ejecutan los programas a través de este proceso. Su mundo empieza y se detiene en int main(int argc, char **argv) o static void main(String []args) o incluso if __name__ == "__main__":. Estos son puntos de entrada bien conocidos de los programas en C, Java y Python, por lo que es aquí donde los programadores asumen la responsabilidad del flujo de control. Sin embargo, antes de que los programas se lancen y después de que salgan, el sistema operativo o el tiempo de ejecución programático necesita configurar y desmontar la estructura ejecutable. El proceso de carga necesita saber dónde empiezan las instrucciones, cómo se inicializan los elementos de datos, qué otros módulos o bibliotecas hay que cargar, etc.

Estos detalles se definen generalmente por la naturaleza del ejecutable. En Linux, ...

Get WebAssembly: La Guía Definitiva now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.