Difference between revisions of "Inlining"

From Liberty Eiffel Wiki
Jump to navigation Jump to search
m (10 revisions: initial import from SamrtEiffel Wiki - The Grand SmartEiffel Book)
 
m (s/LibertyEiffel/Liberty Eiffel/)
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[Category:Book]]
+
[[Category: Interfacing]]
  +
There exists a capability unique to Liberty Eiffel of putting C code in line. Of course, this method is only usable with [[compile_to_c]].
 
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 Liberty Eiffel 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 Liberty Eiffel 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]].

Latest revision as of 07:47, 3 July 2016

There exists a capability unique to Liberty Eiffel 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 Liberty Eiffel generated header file (.h).

Use of these functions implies a precise knowledge of the Liberty Eiffel 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.