mirror of
https://github.com/EiffelSoftware/eiffel-org.git
synced 2025-12-08 15:52:26 +01:00
Date:2008-09-25T16:19:15.000000Z git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@44 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
48 lines
2.0 KiB
Plaintext
48 lines
2.0 KiB
Plaintext
[[Property:title|Dynamic library: Generated files]]
|
|
[[Property:weight|3]]
|
|
[[Property:uuid|f3926dd7-eb68-7a82-39f0-b4f5ea891436]]
|
|
Basically, once the Eiffel definition file is created, the compiler will generate a set of files and will compile them to generate the Dynamic library into the ''EIFGENs/target_name/W_code'' or ''EIFGENs/target_name/F_code'' directory.
|
|
|
|
{{note|To generate and compile these files, you have to indicate the definition file that should be used in the [[Advanced Options|advanced node of the project settings]] of your system. This way EiffelStudio will know which one to use. If you do not specify any definition file, nothing will be generated. }}
|
|
|
|
The set of files is composed of:
|
|
<div>
|
|
* EIFGENs/target_name/W_code/'''system.def''' (or F_code)
|
|
* EIFGENs/target_name/W_code/'''edynlib.c''' (or F_code)
|
|
* $(ISE_EIFFEL)/studio/spec/$(ISE_PLATFORM)/templates/'''egc_dynlib.template''' <br/>
|
|
this file will be copied during the compilation into the EIFGENs/target_name/W_code/E1 directory as '''egc_dynlib.c'''
|
|
* $(ISE_EIFFEL)/studio/spec/$(ISE_PLATFORM)/include/'''egc_dynlib.h'''
|
|
* and the Makefile
|
|
</div>
|
|
The ''system.def'' is only used on windows, it is the definition file used to generate a DLL when linking.<br/>
|
|
Information about the DLL
|
|
<code>LIBRARY demo.dll
|
|
DESCRIPTION DEMO.DLL</code>
|
|
The following are EXPORTed functions.
|
|
<code>EXPORTS</code>
|
|
This part concerns the run-time. It initializes the run-time and reclaim Eiffel objects.
|
|
<code>
|
|
;System
|
|
init_rt
|
|
reclaim_rt
|
|
</code>
|
|
The exported for the BAR class:
|
|
<code>; CLASS [BAR]
|
|
get_string
|
|
print_bar
|
|
</code>
|
|
The exported for the ROOT_CLASS class:
|
|
<code>; CLASS [ROOT_CLASS]
|
|
make
|
|
foo
|
|
test_bar</code>
|
|
|
|
|
|
The ''edynlib.c'' file is the interface between the Eiffel system and the C code. It contains the declaration and the implementation of the function used to directly call the eiffel feature with its real name.
|
|
|
|
The <span> ''egc_dynlib.c'' </span> and <span> ''egc_dynlib.h'' </span> files are used for operations performed by the run-time.
|
|
|
|
|
|
|
|
|