/tutorial/cecil/c_startup/example.e

http://github.com/tybor/Liberty · Specman e · 34 lines · 12 code · 4 blank · 18 comment · 0 complexity · 62b8e8e5236683625143b7cec9d71c9f MD5 · raw file

  1. class EXAMPLE
  2. --
  3. -- This example shows how to start execution from the outside (external C code starts
  4. -- execution before calling Eiffel code).
  5. --
  6. -- Obviously, external C code must provide the C main function. In order to avoid double definition of
  7. -- the main function, one must use option -no_main command switch of `compile_to_c'.
  8. -- In such a case, the Eiffel root object is accessible only via the predefined C variable
  9. -- `eiffel_root_object'.
  10. --
  11. -- One must also keep in mind that some internal Eiffel runtime information has to be initialized
  12. -- before calling any Eiffel feature. Thus, before the first call to Eiffel features, the external C code
  13. -- has to call C function `initialize_eiffel_runtime(argc,argv)'.
  14. --
  15. --
  16. -- To compile this example, use command:
  17. --
  18. -- se c -no_main -cecil cecil.se example c_prog.c
  19. --
  20. create {ANY}
  21. make
  22. feature {ANY}
  23. make
  24. do
  25. end
  26. do_it
  27. do
  28. io.put_string("Hi from Eiffel world.%N")
  29. end
  30. end -- class EXAMPLE