Online Eiffel Documentation
EiffelStudio

Definition file

The syntax is pretty simple when you understand what you need to export a feature: you need the name of the feature, the name of the concerned class, and the name of a creation procedure. What is optional is to specify an alias, an index and a calling convention. The index and calling convention are mainly used to create a DLL for windows, and the alias to export the feature under a different name.

Syntax

Export_featureClass_name [Creation_part] ":" Feature [Optional_part]
Creation_part"(" feature_name ")"
Optional_part[Index_part] [Alias_part]
Index_part"@" integer
Alias_part"Alias" alias_name
Call_type_part"call_type" call_type_name

Example

ROOT_CLASS (make): foo @ 4 Alias my_foo call_type __stdcall

Constraint

For each feature the required fields are the class, the creation procedure, and of course the feature itself.

A definition file

-- EXPORTED FEATURE(s) OF THE SHARED LIBRARY
-- SYSTEM : demo

-- CLASS [BAR]
-- Here get_string uses make_b as creation
BAR (make_b) : get_string
-- Here print_bar uses make_a as creation
BAR (make_a) : print_bar

-- CLASS [ROOT_CLASS]
-- Here the feature is also a creation
ROOT_CLASS : make
ROOT_CLASS (make) : foo
ROOT_CLASS (make) : test_bar