2013-07-03 1 views
0

GObject Reference Manual에는 GObject 시스템이 일부 일반 글루 코드를 사용하여 C로 작성된 함수를 다른 언어로 내보내도록 설계되었다고 나와 있습니다. 또한이 접착제는 perl과 python에 명시 적으로 존재합니다. 그러나 생략 할 수있는 방법은 어디에서 찾아야하며 어떻게 사용하는지입니다.GObject를 다양한 언어로 내보내는 방법

그래서 C 소스와 헤더 파일이 포함 된 새로운 GObject (for the sake of simplicity, the example given in the same manual)을 작성하여 컴파일하고 적절히 설치하여 시스템 라이브러리를 찾을 위치를 찾았습니다. 이제는 파이썬 프로그램에서 객체를 인스턴스화하고 사용하고 싶습니다. 또는 Perl 프로그램. 아니면 심지어 자바 프로그램. 또는 glib 바인딩을 사용할 수있는 다른 프로그래밍 언어. 이것은 정확히 어떻게 할 수 있습니까?

나는 기존의 일반적인 글루 코드를 통해 직접 객체를 사용하고 싶습니다. 나는 DBus를 사용하여 실행중인 C 프로그램에서 객체를 내보내고 Python으로 액세스 할 수 있는지 알고 있습니다. 그러나 나는 IPC-Solution을 찾지 않습니다. 컴파일 된 C 라이브러리 객체는 다른 프로그래밍 언어로 어느 정도 직접 내보내집니다.

답변

1

을 :) 수 있습니다. 설정이 제대로되면 PyGObject (파이썬), Gjs (JavaScript), Vala 등을 쉽게 사용할 수 있습니다.

모든 언어는 분명히 다르지만 파이썬에서 가장 익숙한 소리를 내기 때문에 ... Python GTK+ 3 Tutorial은 GTK +를 예로 들어 프로세스를 설명합니다.

1

다음은 몇 가지 예입니다. GType 및 GObject는 표준이며 접착제 코드를 제공하지 않습니다. 당신은 단지 당신이 사용하고자하는 언어를 찾고 누군가가 접착제를 아직 구현했는지 확인하기를 원할 것입니다. 그렇지 않으면, 어쩌면 당신은 당신은 GObject Introspection 찾고있는

https://wiki.gnome.org/PyGTK/WhatsNew28

http://search.cpan.org/~rmcfarla/Glib-1.020/GType.xs

+0

Gobject Introspection은 이러한 바인딩을 대체하기 때문에 정확하지만 오래된 것입니다. 그럼에도 불구하고 링크는 [또 다른 질문]을 제기했다 (http://stackoverflow.com/q/18593044). – XZS

관련 문제