mirror of
https://github.com/EiffelSoftware/eiffel-org.git
synced 2025-12-07 23:32:42 +01:00
Author:admin
Date:2008-09-19T07:54:43.000000Z git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@25 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
[[Property:title|CECIL interface overview]]
|
||||
[[Property:weight|3]]
|
||||
[[Property:uuid|7d8b4785-6f05-02c9-ba1c-12bad3d4b331]]
|
||||
==Eiffel basic types==
|
||||
The EIFFEL include files define types for every EIFFEL types:
|
||||
* An Eiffel <eiffel>INTEGER</eiffel> is an ''EIF_INTEGER'',
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
[[Property:title|Reference for `attribute_exists']]
|
||||
[[Property:link_title|attribute_exists]]
|
||||
[[Property:weight|-15]]
|
||||
[[Property:uuid|7cdf93a7-6f63-869a-5443-b8908a086d18]]
|
||||
==SYNOPSYS==
|
||||
<code>
|
||||
'''#include "eif_cecil.h"'''
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
[[Property:title|Reference for `eif_access']]
|
||||
[[Property:link_title|eif_access]]
|
||||
[[Property:weight|-14]]
|
||||
[[Property:uuid|2f74eeb4-2508-bf32-adf2-87959cfb2593]]
|
||||
==SYNOPSYS==
|
||||
<code>
|
||||
'''#include "eif_hector.h"
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
[[Property:title|Reference for `eif_adopt']]
|
||||
[[Property:link_title|eif_adopt]]
|
||||
[[Property:weight|-13]]
|
||||
[[Property:uuid|dc8ef8a9-7082-2a27-4e45-8f1d4472dbda]]
|
||||
==SYNOPSYS==
|
||||
<code>
|
||||
'''#include "eif_hector.h"
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
[[Property:title|Reference for `eif_attribute_type']]
|
||||
[[Property:link_title|eif_attribute_type]]
|
||||
[[Property:weight|-11]]
|
||||
[[Property:uuid|28b3840f-648f-dc4d-8c83-70532a5e8e63]]
|
||||
==SYNOPSYS==
|
||||
<code>
|
||||
'''#include "eif_cecil.h"
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
[[Property:title|Reference for `eif_attribute'.]]
|
||||
[[Property:link_title|eif_attribute]]
|
||||
[[Property:weight|-12]]
|
||||
[[Property:uuid|c843f272-8ac2-c30e-e71f-bd6c567e9de3]]
|
||||
==SYNOPSYS==
|
||||
<code>
|
||||
'''#include "eif_cecil.h"
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
[[Property:title|Reference for `eif_create']]
|
||||
[[Property:link_title|eif_create]]
|
||||
[[Property:weight|-7]]
|
||||
[[Property:uuid|b928f4b9-2830-5723-6f02-57eac618b116]]
|
||||
==SYNOPSYS==
|
||||
<code>
|
||||
'''#include "eif_cecil. h"'''
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
[[Property:title|Reference for `eif_disable_visible_exception']]
|
||||
[[Property:link_title|eif_disable_visible_exception]]
|
||||
[[Property:weight|-6]]
|
||||
[[Property:uuid|6b8323d9-1963-c6b8-0198-f07895916c46]]
|
||||
==SYNOPSYS==
|
||||
<code>
|
||||
'''#include "eif_cecil.h"
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
[[Property:title|Reference for `eif_enable_visible_exception']]
|
||||
[[Property:link_title|eif_enable_visible_exception]]
|
||||
[[Property:weight|-4]]
|
||||
[[Property:uuid|97b5a74c-d7ad-abf4-9390-59266b67c7c7]]
|
||||
==SYNOPSYS==
|
||||
<code>
|
||||
'''#include "eif_cecil.h"
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
[[Property:title|Reference for `eif_name_by_tid']]
|
||||
[[Property:link_title|eif_name_by_tid]]
|
||||
[[Property:weight|-1]]
|
||||
[[Property:uuid|7ae34f4d-5eaf-0703-29f7-54dc4f0fd49d]]
|
||||
==SYNOPSYS==
|
||||
<code>
|
||||
'''#include "eif_cecil.h"
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
[[Property:title|Reference for `eif_name']]
|
||||
[[Property:link_title|eif_name]]
|
||||
[[Property:weight|-2]]
|
||||
[[Property:uuid|2921b2ef-1f59-cd26-df50-5cb946eae84c]]
|
||||
==SYNOPSYS==
|
||||
<code>
|
||||
'''#include "eif_cecil.h"
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
[[Property:title|Reference for `eif_procedure']]
|
||||
[[Property:link_title|eif_procedure]]
|
||||
[[Property:weight|1]]
|
||||
[[Property:uuid|3937f124-fffa-3244-d2e4-46ccfcec5fa8]]
|
||||
==SYNOPSYS==
|
||||
<code>
|
||||
'''#include "eif_cecil.h"
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
[[Property:title|Reference for `eif_protect']]
|
||||
[[Property:link_title|eif_protect]]
|
||||
[[Property:weight|2]]
|
||||
[[Property:uuid|f335a229-93c4-4f3f-6fca-9c4c190745c4]]
|
||||
==SYNOPSYS==
|
||||
<code>
|
||||
'''#include "eif_hector.h"
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
[[Property:title|Reference for `eif_string']]
|
||||
[[Property:link_title|eif_string]]
|
||||
[[Property:weight|5]]
|
||||
[[Property:uuid|d203c941-df82-495a-55f3-791652b0e9ef]]
|
||||
==SYNOPSYS==
|
||||
<code>
|
||||
'''#include "eif_plug.h"
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
[[Property:title|Reference for `eif_type_id']]
|
||||
[[Property:link_title|eif_type_id]]
|
||||
[[Property:weight|9]]
|
||||
[[Property:uuid|248182c3-5e89-4adc-097f-f03cb934eb63]]
|
||||
==SYNOPSYS==
|
||||
<code>
|
||||
'''#include "eif_gen_conf.h"
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
[[Property:title|Reference for `eif_type_by_name']]
|
||||
[[Property:link_title|eif_type_by_name]]
|
||||
[[Property:weight|7]]
|
||||
[[Property:uuid|51549b56-757c-f91f-6d27-5784a12181ac]]
|
||||
==SYNOPSYS==
|
||||
<code>
|
||||
'''#include "eif_gen_conf.h"
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
[[Property:title|Reference for `eif_type_by_reference']]
|
||||
[[Property:link_title|eif_type_by_reference]]
|
||||
[[Property:weight|8]]
|
||||
[[Property:uuid|1258584a-0aae-3246-0553-98817deda6e0]]
|
||||
==SYNOPSYS==
|
||||
<code>
|
||||
'''#include "eif_cecil.h"
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
[[Property:title|Reference for `eif_type']]
|
||||
[[Property:link_title|eif_type]]
|
||||
[[Property:weight|6]]
|
||||
[[Property:uuid|8c200b03-cae1-bbcd-98b0-1767402744be]]
|
||||
==SYNOPSYS==
|
||||
<code>
|
||||
'''#include "eif_cecil.h"
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
[[Property:title|Reference for `eif_wean']]
|
||||
[[Property:link_title|eif_wean]]
|
||||
[[Property:weight|10]]
|
||||
[[Property:uuid|d94fdbce-8cbd-7714-ebfc-38e1f0526eaa]]
|
||||
==SYNOPSYS==
|
||||
<code>
|
||||
'''#include "eif_hector.h"
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|CECIL Reference]]
|
||||
[[Property:weight|4]]
|
||||
[[Property:uuid|20ca6ef1-0d26-a556-955c-96bed93dfdfb]]
|
||||
Index of CECIL features
|
||||
* [[Reference for `RTMS'|RTMS()]]
|
||||
* [[Reference for `attribute_exists'|attribute_exists()]]
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|CECIL - Basic sample]]
|
||||
[[Property:weight|2]]
|
||||
[[Property:uuid|ed699d37-f480-0cef-817f-9f4a857c1691]]
|
||||
==cecil-test==
|
||||
|
||||
After you have done the appropriate steps to compile the example, you will get a `cecil.exe' on windows, or `cecil' on Unix.
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|CECIL - C to Eiffel]]
|
||||
[[Property:weight|0]]
|
||||
[[Property:uuid|c3b64ef2-28b2-920e-44fb-4cff2320c099]]
|
||||
==array==
|
||||
This example shows how to create an Eiffel array from an existing C array. After you have done the appropriate steps to compile the example, you will get a `cecil.exe' on windows, or `cecil' on Unix. Launch the program and you will be prompted for 10 integers that will be inserted in a C array, it will then initialize the Eiffel array and calls display from the MY_ARRAY class. A typical output will be:
|
||||
<code>
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|CECIL - Eiffel to C]]
|
||||
[[Property:weight|1]]
|
||||
[[Property:uuid|3d1df3fe-2ac8-1ba3-c846-8329ea8a3772]]
|
||||
==array==
|
||||
|
||||
This example shows how to create a C array from an existing Eiffel array.
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|CECIL - How to compile the samples?]]
|
||||
[[Property:weight|4]]
|
||||
[[Property:uuid|3548e1b4-9488-10d5-561e-f817c15d6ff0]]
|
||||
==Compiling for Windows==
|
||||
|
||||
Depending on your C compiler different steps have to be done, but do not forget to do the following before starting the C compiler specific part in a DOS console:
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|CECIL - Threads]]
|
||||
[[Property:weight|3]]
|
||||
[[Property:uuid|44f2ee31-8634-6e54-f45a-8b36f780f888]]
|
||||
==bank_account==
|
||||
|
||||
After you have done the appropriate steps to compile the example, you will get a `bank_account.exe' on windows, or `bank_account' on Unix.
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|CECIL samples]]
|
||||
[[Property:weight|5]]
|
||||
[[Property:uuid|dab15073-3970-7e47-a2d8-c926faa50ade]]
|
||||
Before trying the examples, please take a moment and look at the [[CECIL - How to compile the samples?|description]] that will explain how to compile the CECIL samples.
|
||||
|
||||
Available samples include:
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Compiling an Eiffel system for CECIL]]
|
||||
[[Property:weight|1]]
|
||||
[[Property:uuid|94a549df-1919-9dcd-82b3-1cd82e064a03]]
|
||||
==Compiling your Eiffel system for CECIL==
|
||||
It is very simple to "Cecilize" your Eiffel system, that is to say make its features available from the outside through CECIL. You will compile it as you normally would - either freeze it or finalize it. The only supplementary precaution is to protect from the dead-code remover any Eiffel features that are not called from the Eiffel system's root, and might thus be dead-code-removed by the optimization mechanism.
|
||||
To do this, make the appropriate features and classes [[Group Options|visible]] .
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|CECIL]]
|
||||
[[Property:weight|3]]
|
||||
[[Property:uuid|c03112b8-578e-cc1a-ee13-c6928b787529]]
|
||||
* [[CECIL: Introduction|Introduction]]
|
||||
* [[Compiling an Eiffel system for CECIL|Compiling an Eiffel system for CECIL]]
|
||||
* [[Using a CECIL archive|Using a CECIL archive]]
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Using a CECIL archive]]
|
||||
[[Property:weight|2]]
|
||||
[[Property:uuid|e8438c9b-65ae-368f-6559-a0d5b28db4b7]]
|
||||
==Linking the CECIL archive into a program==
|
||||
The CECIL archive already incorporates the Eiffel run-time. To use the functions provided in the CECIL archive, simply write the C programs according to the CECIL specifications of ETL, and then include the CECIL archive in the link line of your C application. This line looks like:
|
||||
on Unix/linux:
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Eiffel2Java Sample]]
|
||||
[[Property:weight|1]]
|
||||
[[Property:uuid|90ef17d4-8e23-34dd-1cb8-488533561dd4]]
|
||||
This example shows how to create an instance of the Java Virtual Machine and the creation of an object of type <eiffel>test</eiffel>, a java class reproduced below:
|
||||
<code>
|
||||
(Java Code)
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
[[Property:title|Eiffel to Java Interface]]
|
||||
[[Property:link_title|Eiffel2Java Tutorial]]
|
||||
[[Property:weight|0]]
|
||||
[[Property:uuid|2d0fc62b-90e9-650b-2896-d92db66899c9]]
|
||||
==Introduction==
|
||||
|
||||
The Java interface allows you to call Java routines or attributes from your Eiffel code. It uses the Java Native Interface (JNI) provided by the Java Development Kit (JDK). You can get more information about the JNI at:
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Eiffel2Java]]
|
||||
[[Property:weight|4]]
|
||||
[[Property:uuid|009ed581-1141-7db0-74bb-a9cbca15b904]]
|
||||
Type: Library <br/>
|
||||
Platform: Any <br/>
|
||||
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
[[Property:weight|-12]]
|
||||
[[Property:uuid|6029d6d9-bb73-5c74-02f6-70d202a65ceb]]
|
||||
== Interacting with software in other languages ==
|
||||
{{note|Put a reference to .NET and COM, as well as to external features syntax -Kwaxer 9/16/08 7:47 PM }}
|
||||
|
||||
* [[C externals|C externals tutorial]]
|
||||
* [[C++ Externals|C++ externals tutorial]]
|
||||
@@ -13,3 +12,5 @@
|
||||
** Eiffel2Java class reference
|
||||
** [[Eiffel2Java Sample|Eiffel2Java samples]]
|
||||
|
||||
{{note|Put a reference to .NET and COM, as well as to external features syntax -Kwaxer 9/16/08 7:47 PM }}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user