2012-04-27 3 views
0

Windows API가 kernel.dll, user32.dll 등과 같이 * .so 파일에 저장된 GNOME API입니까?그놈 API는 * .so 파일에 저장됩니까?

그렇다면 어디입니까? 프로그램에서 공유 라이브러리로 사용할 수 있습니까?

그렇지 않다면 무엇입니까?

답변

0

.so는 정적 라이브러리 인 ".a"와는 달리 동적 라이브러리라고하는 "공유 객체"입니다. Windows 시스템에는 .dll (동적으로 링크 된 라이브러리) 만 있다고 생각합니다.

gnome은 노틸러스 (창 관리자) 등 다른 소프트웨어 요소를 사용하는 데스크톱 환경이기 때문에 exectuables 및 라이브러리가 있습니다 (정적 및 동적이 혼합되어 있다고 가정합니다.) 또한 다른 라이브러리 용 libpng 또는 libjpeg, 사운드 용 libalsa 등 및 GUI 용 GTK (그놈 툴킷)

마지막으로 더 많은 파일이/usr/share/lib/usr/X11에 있습니다./lib ... 및 이와 유사한 경로

+0

Windows에는 확실히 정적 라이브러리 -'.lib' 파일이 있습니다. 메인 시스템 디렉토리에서보기가 거의 없습니다. –

+0

'마지막으로/usr/lib/usr/share/lib/usr/X11/lib에 있습니다. – texasbruce

0

그놈은 데스크톱 환경 일뿐 아니라 데스크톱 관리를위한 높은 기능을 제공합니다. ager는 X.org 위에 Windows를 관리하는 등의 작업을 수행합니다.

GNOME API 집합이 하나도 없으며 다양한 프로젝트의 다양한 라이브러리를 사용합니다. 일반적으로 그놈은 그래픽 라이브러리로 GTK +를 사용하고 다른 많은 libs를 사용합니다. 일부는 GNOME \ GTK에만 해당하는 반면 다른 일부는 더 일반적입니다. 여기에서 정보를 찾을 수 있습니다. [1]

시스템에서는 바이너리가 .so 객체 (예 :/usr/lib,/usr/share/lib 등)에서 찾을 수 있습니다.

사용 그 프로그램에 하려면, 해당 헤더를 #include해야합니다 (헤더가 데비안과 우분투 당신이, 예를 들어, 많은 배포판에 기본적으로 설치되지 않은 GTK libs와를 사용하는 예를 #include <gtk/gtk.h>에 대한 apt-get을 사용하여 lib{libraryname}-dev 패키지를 다운로드하십시오.)

을 컴파일하면 컴파일 할 라이브러리가있는 링커와 컴파일러에게 알려야합니다. 그렇게하려면, 당신은 pkg-config [2] 대부분의 라이브러리에 대한 올바른 GCC에게 -L-I 스위치를 찾는 데 사용할 수있는 (- 당신의 메이크 또는 지시 - 또는 설치하여 IDE를 할 수있는 것을 할)

[1] http://developer.gnome.org/

[2] https://en.wikipedia.org/wiki/Pkg-config

+0

잘 정의 된 그놈 API 세트가 너무 많습니다. 링크는 developer.gnome.org의 첫 페이지에 바로 있습니다! '플랫폼 개요'로 스크롤하십시오. – ptomato

+0

'시스템에서는 바이너리가 어딘가에있는 .so 오브젝트 (예 :/usr/lib,/usr/share/lib 등)에 있습니다. 모든 질문은 정확히 어디에 있습니까? 어느 것? – texasbruce

+0

@ptomato 사실. 함께 GNOME 플랫폼 인 많은 라이브러리, API 등이 있습니다. 그러나 http : //developer.gnome에 열거 된 것들이 많이 있습니다.org/platform-overview/stable /는 GNOME과 관련이 없습니다. 예를 들어 D-Bus, GTK +, Webkit, Gstreamer (GStreamer는 KDE에서 Phonon 백엔드로 사용할 수 있습니다. D_Bus는 KDE에서도 사용되며 freedesktop의 일부입니다. ..). 그리고 그놈 전용 (GIO, ...) API가 있습니다. – marcello