Как программа использует файлы, написанные на разных языках? - PullRequest
1 голос
/ 23 декабря 2011

Вчера я смотрел на источник teamviewer

(http://web.archive.org/web/20060412051941/http://download.teamviewer.com/download/TeamViewer_Source.zip)

), и я заметил, что у него были файлы, написанные на разных языках программирования (java и c, ect). Так что в основном яинтересно, как программа (например, teamviewer) может использовать файлы, написанные на разных языках. Нужен ли мне инструмент определенного типа, который может объединять разные языки?

1 Ответ

2 голосов
/ 23 декабря 2011

Обычно каждый язык предлагает некоторые средства взаимодействия с другими языками. Например, Java поддерживает ключевое слово native, которое можно использовать для описания метода, написанного не на Java, а на каком-либо другом языке. Поищите в файлах Java слово «native», и я уверен, что вы найдете некоторые методы. Затем, если вы посмотрите на файлы C, вы увидите, что эти методы реализованы там. Конечно, языки работают в среде выполнения, и каждая такая среда также должна обеспечивать поддержку времени выполнения для смешивания модулей, написанных на разных языках. В мире Java есть нечто, называемое Java Native Interface (JNI) для этой задачи.

Если вы хотите подробно о том, как на самом деле написать программу на Java и C, поиск "JNI" был бы хорошей отправной точкой.

...