Могу ли я использовать обычный dll или другой языковой пакет в Ada? - PullRequest
0 голосов
/ 14 октября 2018

В настоящее время я использую оборудование, которое предоставляет мне программный пакет, который поставляется из DLL.Они также предоставляют пакеты на разных языках (Java, C ++ и Python) с функциями из DLL, поэтому я программирую свое приложение на Java.Я хотел бы перейти на Ada, но я не знаю, как использовать функции DLL или пакеты, которые компания предлагает мне на других языках.Есть ли способ сделать это?

Я знаю, что могу извлечь имена функций из DLL, но я точно не знаю, как преобразовать это в пакет Ada, или если я уже могу использовать пакетысделано на других языках любым способом.

1 Ответ

0 голосов
/ 14 октября 2018

Ленивый ответ - просто «да».: -)

Документация GCC по этому вопросу находится здесь: https://gcc.gnu.org/onlinedocs/gnat_ugn/Using-DLLs-with-GNAT.html

Как говорится, вам также нужна спецификация Ada для функций в DLL, которую вы хотите использовать.Вы можете либо написать это вручную, либо использовать gcc -fdump-ada-spec в заголовочных файлах C или C ++, чтобы генерировать их автоматически.Сгенерированные спецификации не всегда красивы, но они, скорее всего, будут правильными, чем то, что вы пишете с нуля.

...