Concurso internacional de código C ofuscado

IOCCC (del inglés  International Ofuscated C Code Contest  - “International Ofuscated C Code Contest” [1] ) es un concurso de programación en el que la tarea de los participantes es escribir el código más ofuscado en lenguaje C , sujeto a restricciones en el tamaño del código fuente. La competencia IOCCC se lleva a cabo anualmente desde 1984 , con excepción de 1997 , 1999 , 2002 y 2003 .

Historia

En 2004, el ganador de la competencia fue un sistema operativo gráfico multitarea con soporte para teclado , soporte para mouse , un subsistema de ventanas primitivo , soporte para sistema de archivos y la capacidad de ejecutar programas ELF . El sistema viene con un visor de archivos de texto y un intérprete de comandos rudimentario . El código fuente del sistema, junto con las aplicaciones, tiene un tamaño de unos 3,5 kilobytes. [2] [3]

Otros programas ganadores incluyen varios tipos de programas Quine , un compilador C capaz de compilarse a sí mismo, un predictor de fase lunar, etc.

Ejemplos

Ejemplo de programa, 1988: [4] [5]

principal ( argc , argv ) intargc ; _ char ** argv ; { while ( * argv != argv [ 1 ] && ( * argv = argv [ 1 ]) && ( argc = 0 ) || ( *++ argv && ( ** argv && (( ++ argc )[ * argv ] && ( ** argv <= argc [ * argv ] || ( ** argv += argc [ * argv ] -= ** argv = argc [ * argv ] - ** argv )) && --argv || _ putchar ( ** argv ) && ++* argv -- ) || putcar ( 10 )))); }

Véase también

Notas

  1. Concurso internacional de código C ofuscado . Consultado el 1 de junio de 2006. Archivado desde el original el 28 de mayo de 2014.
  2. Copia archivada . Consultado el 24 de febrero de 2021. Archivado desde el original el 6 de mayo de 2021.
  3. Copia archivada . Fecha de acceso: 24 de febrero de 2021. Archivado desde el original el 17 de abril de 2007.
  4. Copia archivada . Consultado el 24 de febrero de 2021. Archivado desde el original el 7 de mayo de 2021.
  5. Copia archivada . Consultado el 24 de febrero de 2021. Archivado desde el original el 9 de mayo de 2021.

Enlaces