LCC ("Local C Compiler" o "Little C Compiler") es un compilador pequeño y adaptable para el lenguaje de programación ANSI C. Aunque su código fuente está disponible sin cargo para uso personal, [ 2 ] no es software libre ni de código abierto según las definiciones habituales porque los productos derivados de LCC no pueden venderse, aunque los componentes que no derivan de LCC sí pueden venderse. [ 1 ] Fue desarrollado por Chris Fraser y David Hanson .
LCC
LCC está diseñado para ser muy sencillo de entender y está bien documentado; su diseño se describe en el libro de Fraser y Hanson, A Retargetable C Compiler: Design and Implementation . El libro incluye la mayor parte del código fuente de la versión 3.6 del compilador, que se escribió como un programa literario usando noweb . A julio de 2011, la versión actual de LCC es la 4.2, pero gran parte del libro sigue siendo aplicable a esta versión. El cambio principal desde la publicación del libro se encuentra en la interfaz del generador de código, que se describe en un documento aparte. [ 3 ]
El código fuente de LCC tiene alrededor de 20.000 líneas, lo que es mucho menor que el de muchos compiladores importantes. [ 4 ]
LCC puede generar código para varias arquitecturas de procesadores, incluidas Alpha , SPARC , MIPS y x86 ; también hay un backend de LCC que genera el Lenguaje Intermedio Común de Microsoft . [ 5 ]
Proyectos que incorporan LCC
Terremoto 3
El motor id Tech 3 de id Software se basa en una versión modificada de LCC para compilar el código fuente de cada módulo de juego o mod de terceros en bytecode dirigido a su máquina virtual . [ 6 ] Esto significa que los módulos son ajenos al sistema más allá de la funcionalidad limitada que proporciona el motor, lo que tiene como objetivo reducir la amenaza que representan los autores de mods maliciosos. Otra consideración es que los juegos y mods escritos para el motor son portátiles sin necesidad de recompilación; solo es necesario portar la máquina virtual a nuevas plataformas para ejecutar los módulos.
lcc-win
lcc-win32 es un paquete de entorno de desarrollo integrado para Microsoft Windows que incluye una bifurcación de LCC. Existe una contraparte para amd64 llamada lcc-win64, disponible desde el 15 de abril de 2012. [ 7 ]
Pelles C
Pelles C es una versión muy modificada de LCC que proporciona compatibilidad con C11 , así como con C17 y C23, compatibilidad con amd64, técnicas de optimización adicionales como la expansión en línea y un IDE .
MathWorks
Para máquinas Windows de 32 bits, Lcc se utiliza de forma predeterminada si no hay ningún otro compilador instalado para MathWorks MATLAB y productos relacionados. [ 8 ]
Licencia
LCC es gratuito para uso personal y puede redistribuirse siempre que todos los medios de distribución y la documentación del producto lo reconozcan. La licencia de LCC se basa en ejemplos en varios casos. LCC no puede venderse con fines de lucro, pero puede incluirse con otro software que se venda con fines de lucro, siempre que LCC se distribuya gratuitamente. Se pueden obtener licencias por usuario y de uso ilimitado contactando a Addison-Wesley, en particular para compiladores de lenguajes como C++, para los cuales un compilador de C puede constituir gran parte de su trabajo. [ 1 ]
Véase también
Referencias
- 1 2 3 "Licencia LCC" . GitHub . Consultado el 5 de julio de 2011 .
- ↑ "Repositorio oficial de Github" . GitHub .
- ↑ Fraser, Christopher W.; Hanson, David R. (julio de 2001). "La interfaz de generación de código lcc 4.x" (PDF) . Microsoft Research. Informe técnico MSR-TR-2001-64 . Recuperado el 5 de julio de 2011 .
- ↑ Sao-Jie Chen, Guang-Huei Lin, Pao-Ann Hsiung, Yu-Hen Hu. "Codiseño de hardware y software de una plataforma SOC multimedia". Sección 5.6.1: Infraestructura del compilador LCC.
- ↑ Hanson, David R. (marzo de 2004). "Lcc.NET: Dirigido al lenguaje intermedio común de .NET desde C estándar" (PDF) . Microsoft Research . Recuperado el 22 de julio de 2012 .
- ↑ "Archivo .plan de John Carmack, 24 de julio de 1999" . Archivado del original el 12 de mayo de 2008.
- ↑ lcc-win: Un sistema de compilación para Windows
- ↑ "Build MEX-Files" . Archivado del original el 14 de septiembre de 2012. Recuperado el 6 de noviembre de 2013 .
Enlaces externos
- Página web oficial de Pelles C IDE
Bibliografía
- Fraser, Christopher W.; Hanson, David R. (1995). Un compilador C reorientable: diseño e implementación . Addison-Wesley. ISBN 0-8053-1670-1.
- Compiladores de C (lenguaje de programación)