[[Property:title|CECIL]] [[Property:weight|3]] [[Property:uuid|c03112b8-578e-cc1a-ee13-c6928b787529]] This document provides an overview of the C-Eiffel Call-In Library (CECIL) as defined in Eiffel: The Language (ETL). The first section addresses how to compile and run a CECIL program, on the [[Compiling an Eiffel system for CECIL|Eiffel side]] and on the [[Using a CECIL archive|C side]] . The [[CECIL interface overview|second part]] contains a more precise description of the Eiffel types, the protection mechanism as well as how to write and use C externals. CECIL, designed by Eiffel Software , is the C library that permits C and C++ applications (as well as applications written in other languages) to take advantage of almost all Eiffel facilities: create Eiffel objects, apply features to them. The basics of CECIL are described in chapter 24 of the reference book on Eiffel, Eiffel: The Language, which covers interfaces between Eiffel and other languages. Important material can also be found in the Eiffel Software manual Eiffel: The Environment. The CECIL documentation, man pages and examples are part of the standard delivery of EiffelStudio 5.0 and higher. The present document complements the descriptions of Eiffel: The Language. Note that CECIL has been revised and improved since that book was published, so the explanations below have precedence over those in the book. This document is intended for both Windows and Unix users. Only a few of the sections, clearly marked, are platform-specific. To access Eiffel mechanisms from C or other external languages: * Compile your Eiffel system so as to generate "Cecilized" code, that is to say code callable from the outside. See [[Compiling an Eiffel system for CECIL|Compiling your Eiffel system for CECIL]] . * In writing the external code that will use the facilities of the Eiffel system, use the CECIL functions as specified in chapter 24 of ''Eiffel: The Language''. See also [[CECIL interface overview|The CECIL interface overview]] . * C-compile and link that code. See [[Using a CECIL archive|Building a C system using CECIL]] . For feature by feature specification, please have a look at [[CECIL Reference|the man pages]] .