Стандартным средством взаимодействия с другими языками в Ada83 является директива компилятора Interface, которая позволяет вызывать подпрограммы написанные на других языках программирования.
Предположим, что при работе в системе Unix, необходимо использовать команду kill.
Для осуществления этого, необходимо выполнить следующее:
function kill( pid : in Integer; sig : in Integer) return Integer; pragma Interface(C, kill); |
В данном случае, первый параметр директивы компилятора Interface - это язык вызываемой подпрограммы, а второй - имя подпрограммы под которым она (подпрограмма) известна в программе на Аде.
Пример пакета который импортирует функции написанные на Фортране может иметь следующий вид.
package MATHS is function sqrt(X : Float) return Float; function exp (X : Float) return Float; private pragma Interface(Fortran, sqrt); pragma Interface(Fortran, exp); end MATHS; |
Необходимо заметить, что директива компилятора Interface не может быть использована с настраиваемыми подпрограммами.