CLI is a framework that defines a platform independent format for executables and a run-time environment for the execution of applications. CLI is the core of Microsoft’s .NET initiative. The framework has been been standardized by the European Computer Manufacturers Association (ECMA-335) and by the International Organization for Standardization (ISO/IEC 23271:2006). CLI executables are encoded in the Common Intermediate Language (CIL), a stack-based bytecode language. CLI framework is designed to support several programming languages with different abstraction levels, from object-oriented managed languages to low-level languages with no managed execution at all.
The purpose of the GCC4CLI project was to develop a GCC back-end that produces CLI-compliant binaries. The initial focus is on C language (more precisely, C99).
This project was initiated in 2006 by STMicroelectronics/AST group, as part of the European funded project ACOTES.
In 2007 to explore the potential of CLI as a deployment file format, in collaboration with HiPEAC, we developed also a CIL front-end (always using GCC).
Development and research happened at INRIA, in collaboration with STMicroelectronics and HiPEAC partners.
More details can be found on the GCC CLI web page.
Contact: Erven Rohou.