Что лучший способ состоит в том, чтобы назвать кодом C/C++ с других языков, таких как Java, PHP, Perl, Python, и т.д.?

Каждый пакет из файла FILES _ $ {PN} -dev будет доступен в Yocto SDK.

Решение для моей проблемы состоит в том, чтобы установить cmake необходимый файл конфигурации * .cmake в FILES _ $ {PN} -dev.

5
задан Jared 8 November 2008 в 16:39
поделиться

4 ответа

9
ответ дан 18 December 2019 в 12:03
поделиться

Используйте Большой глоток, он позволяет Вам генерировать код для нескольких языков, который вызывает любые функции C/C++. http://www.swig.org/

2
ответ дан 18 December 2019 в 12:03
поделиться

Это действительно зависит от языка... некоторые языки могут связать непосредственно с c/c ++ библиотеки, другим, таким как Java нужно было записать явные интерфейсы. Если бы Вы пытаетесь решить определенную проблему, я предложил бы, чтобы Вы предоставили больше подробную информацию о том, что Вы пытаетесь сделать.

2
ответ дан 18 December 2019 в 12:03
поделиться

Это собирается зависеть от языка и какую интеграцию Вы хотите.

Все те языки позволят Вам выполнить системную команду, таким образом, Вы могли встроить свой C в исполняемый файл, и вызывать ее как команда. В Python:

os.system("myccode -v args etc")

Оборотная сторона этого метода - то, что Вы не совместно используете состояния памяти или возвращаете много информации, и у Вас есть издержки вращения процесса. Зато, это является применимым везде и очень не использующим высокие технологии.

Каждый язык имеет их собственный механизм для вызова C в рамках того же процесса. Python, например, имеет API C, и можно встроить код C в расширение Python. Это допускает очень тесную интеграцию, но является большим количеством работы, и в изучении API C, и в тщательном написании кода для не утечки памяти.

Python также обеспечивает ctypes, который может вызвать C DLLs. Это немного легче, чем полное расширение C, но не обеспечивает весь одинаковый возможности для интеграции.

2
ответ дан 18 December 2019 в 12:03
поделиться