Ada Programming/Pragmas/Export
Summary
editThe 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.
Example
edit/* C file */ int main() { int My_Int; adainit(); /* Zoiks! C is using an Ada function! */ My_Int = My_Ada_Function(); adafinal(); return 0; }
-- Ada Filefunction
My_Ada_Functionreturn
Integeris
begin
return
1;end
My_Ada_Function;pragma
Export (Convention => C, Entity => My_Ada_Function, External_Name => "My_Ada_Function" );