V
e
r

l
i
s
t
a
d
o

tractatus@lapipaplena:/# _

 

smallerc

Compilador de C muy pequeño, de una sola pasada [single-pass], pensado sobre todo para programas sencillos, entornos limitados, docencia o experimentación y compatible con la mayoría de las versiones de C89 y C99. Un compilador normal, como GCC, hace varias fases de análisis y optimización. Un compilador de una sola pasada va leyendo el código fuente y generando salida casi al mismo tiempo. Incluye los ejecutables n2f, smlrc, smlrcc, smlrl y smlrpp, En paqueño ejemplo para ilustrar el compirlador.

$ nano linux.c

#include <stdio.h>

int main(void)

{

puts("Linux es un sistema genial");

return 0;

}

$ smlrcc linux.c -o linux
forma básica que automatiza todo el proceso. Preprocesa hola.c con smlrpp, compila el resultado con smlrc, generando ensamblador, lo ensambla con NASM o FASM si se especifica y enlaza con smlrl, produciendo el ejecutable hola o hola.exe en DOS/Windows
$ smlrcc test.c -o test.exe
en DOS, compilar directamente a un ejecutable .exe
$ smallerc main.c util.c -o programa
compila y enlaza main.c y util.c, generando el ejecutable programa
$ smallerc -DDEBUG -DMAX_VAL=100 -I./include programa.c -o programa
pasar definiciones de macros con -D y directorios de cabeceras con -I

1.-

El mismo proceso paso a paso:

$ smlrpp hola.c hola.i
preprocesar
$ smlrc -SI ../include hola.i hola.asm
compilar a ensamblador [x86]
$ nasm -f elf hola.asm -o hola.o
ensamblar con NASM
$ smlrcc -asm n2f hola.c -o hola
compilar a 32 bits y usar FASM
$ smlrl hola.o -o hola
enlazar

Nota.- Algunas funciones complejas de la biblioteca estándar, especialmente las que dependen mucho de macros o rasgos específicos de libc, pueden no funcionar igual que con GCC.

Navegando por staredsi.eu aceptas las cookies que utilizamos en esta web. Más información: Ver política de cookies
[0] 0:bash*
5241 entradas - Acerca del Tractatus
La Pipa Plena 2026