Какие языки программирования можно использовать для создания общих / динамических библиотек? - PullRequest
0 голосов
/ 17 февраля 2019

Я знаю, что C и C ++ могут легко создавать общие библиотеки, но я хочу кое-что, что также поможет мне.D выглядел многообещающе, но мне трудно и неуклюже писать, особенно без хорошей поддержки IDE (плагин VS лучший, но он все еще ограничен).Kotlin также мог бы быть выбором, но ему не хватает какой-либо стандартной библиотеки для таких вещей, как управление файлами (например, переименование файла).

Я ищу язык (желательно объектно-ориентированный) с хорошей стандартной библиотекойкоторые могут создавать общие библиотеки (.dll, .dylib, .so) в Windows, macOS и Linux, которые затем могут использоваться любым языком, поддерживающим внешние функции C (например, из Python с ctypes).

Есть ли такая вещь?

1 Ответ

0 голосов
/ 18 февраля 2019

Какие языки программирования можно использовать для создания общих / динамических библиотек?

Вы можете создать общую / динамическую библиотеку, используя любой скомпилированный язык или комбинацию скомпилированныхязыки, которые компилируются в объектные файлы , при условии, что все участвующие компиляторы ABI-совместимы .

Это потому, что создание общей библиотеки - это вопрос связывания ряда объектных файлов, которые были заранее созданы некоторыми компиляторами или компиляторами, возможно, вместе с другими общими / динамическими библиотеками, вспособ, который указывает компоновщику выводить разделяемую / динамическую библиотеку (например, с помощью опции связывания -shared компоновщика GNU или опции /DLL компоновщика Microsoft).Компоновщик не осведомлен об исходном языке или языках, из которых его входные данные были скомпилированы.

Относительно того, какой язык компиляции вы найдете наиболее удовлетворительным, мое мнение или рекомендация будут не по теме.

...