Ada Programming/Pragmas/Export
From Wikibooks, open books for an open world
Contents |
[edit] Summary
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.
[edit] Example
/* 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" );