Difference between revisions of "Inlining"

From Liberty Eiffel Wiki
Jump to navigation Jump to search
(Category: Book)
m (10 revisions: initial import from SamrtEiffel Wiki - The Grand SmartEiffel Book)
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
[[Category:Book]]
 
[[Category:Book]]
   
  +
There exists a capability unique to SmartEiffel of putting C code in line. Of course, this method is only usable with [[compile_to_c]].
*** This page can be translated from the French version
 
  +
*** Thanks!
 
  +
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_h</TT> inserts the C code of the character string in the Smarteiffel-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'''.
  +
  +
If, despite all these warnings, you want to know more, read [[Generated c code|this page]].

Revision as of 22:04, 3 March 2013


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 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 Smarteiffel-generated header file (.h).

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.

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