Difference between revisions of "Inlining"

From Liberty Eiffel Wiki
Jump to navigation Jump to search
Line 1: Line 1:
  +
There exists a capability unique to LibertyEiffel of putting C code in line. Of course, this method is only usable with [[compile_to_c]].
[[Category:Smarteiffel]]
 
 
There exists a capability unique to SmartEiffel of putting C code in line. Of course, this method is only usable with [[compile_to_c]].
 
   
 
Two methods <TT>c_inline_c</TT> and <TT>c_inline_h</TT> are defined in [[library_class:ANY|<TT>ANY</TT>]]. These two methods take a single parameter, a '''manifest''' character string.
 
Two methods <TT>c_inline_c</TT> and <TT>c_inline_h</TT> are defined in [[library_class:ANY|<TT>ANY</TT>]]. These two methods take a single parameter, a '''manifest''' character string.
   
 
* <TT>c_inline_c</TT> inserts in line, at the appropriate spot in the generated feature, the C code of the character string;
 
* <TT>c_inline_c</TT> inserts in line, at the appropriate spot in the generated feature, the C code of the character string;
* <TT>c_inline_h</TT> inserts the C code of the character string in the Smarteiffel-generated header file (<TT>.h</TT>).
+
* <TT>c_inline_h</TT> inserts the C code of the character string in the LibertyEiffel-generated header file (<TT>.h</TT>).
   
Use of these functions implies a precise knowledge of the SmartEiffel C code (and doesn't favour portability). '''We don't guarantee backwards compatibility with code using these two methods'''.
+
Use of these functions implies a precise knowledge of the LibertyEiffel C code (and doesn't favour portability). '''We don't guarantee backwards compatibility with code using these two methods'''.
   
 
If, despite all these warnings, you want to know more, read [[Generated c code|this page]].
 
If, despite all these warnings, you want to know more, read [[Generated c code|this page]].

Revision as of 19:06, 5 September 2014

There exists a capability unique to LibertyEiffel of putting C code in line. Of course, this method is only usable with compile_to_c.

Two methods c_inline_c and c_inline_h are defined in ANY. These two methods take a single parameter, a manifest character string.

  • c_inline_c inserts in line, at the appropriate spot in the generated feature, the C code of the character string;
  • c_inline_h inserts the C code of the character string in the LibertyEiffel-generated header file (.h).

Use of these functions implies a precise knowledge of the LibertyEiffel C code (and doesn't favour portability). We don't guarantee backwards compatibility with code using these two methods.

If, despite all these warnings, you want to know more, read this page.