- Basic computing
- GUI building
- Dates and times
- With other languages
- Porting instructions
- Concurrent computing
- Database access
- Web technology
- Text processing
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 Eiffel side and on the C side . The 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 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 The CECIL interface overview .
- C-compile and link that code. See Building a C system using CECIL .
For feature by feature specification, please have a look at the man pages .