Last modified on 29 March 2010, at 20:03

Ada Programming/Pragmas/Export


Ada Lovelace 1838.jpg

SummaryEdit

The pragma Export directs the compiler to make available subprograms or data objects written in Ada to foreign computer languages. If a subprogram is exported, it is compiled with conventions expected by the foreign language. For example, if a subprogram is being exported to C, record types declared in the subprogram are compiled the same as C-style structs.

The set of supported foreign languages depends on the compiler implementation. Typically C, C++, Cobol, and Fortran are supported.

ExampleEdit

/* C file */
int main() { 
  int My_Int;  
  adainit();   
  /* Zoiks! C is using an Ada function! */
  My_Int = My_Ada_Function();
  adafinal();
  return 0;
}
-- Ada File
function My_Ada_Function return Integer is begin
  return 1;
end My_Ada_Function;
pragma Export
(Convention    => C,
 Entity        => My_Ada_Function,
 External_Name => "My_Ada_Function" );

See alsoEdit

WikibookEdit