0

Windows の API が kernel.dll、user32.dll などにあるように、GNOME API は *.so ファイルに保存されますか?

もしそうなら、彼らはどこにいますか? プログラムで共有ライブラリとして使用できますか?

そうでない場合、それらは何ですか?

4

2 に答える 2

0

.so は動的ライブラリとして知られる「共有オブジェクト」であり、静的ライブラリである「.a」とは異なります。Windows システムには .dll (動的にリンクされたライブラリ) しかないと思います。

Gnome APIは、gnomeはデスクトップ環境にすぎないため、Nautilus(そのウィンドウマネージャー)などの他のソフトウェア要素を利用します。実行可能ファイルとライブラリがあります(静的と動的が混在していると思います。さらに、libpngやlibjpegなどの他のライブラリを使用します画像はlibalsa、サウンドはlibalsa、GUIはGTK(gnome toolkit)

最後に、それらの多くはおそらく /usr/lib /usr/share/lib /usr/X11/lib ... および同様のパスにあります

于 2012-04-27T23:31:45.293 に答える
0

GNOME は単なるデスクトップ環境です。X.org 上のウィンドウを管理する Window Manager など、デスクトップを管理するための高度な機能を提供します。

(明確に定義された単一の) GNOME API のセットはありません。さまざまなプロジェクトのさまざまなライブラリを使用します。一般に、GNOME のものはグラフィカル ライブラリとして GTK+ を使用し、それに加えて他の多くのライブラリが使用されています。ここで情報を確認できます [1]

あなたのシステムでは、それらのバイナリはどこかの .so オブジェクトにあります (例えば、/usr/lib、/usr/share/lib など)。

プログラムでそれらを使用#includeするには、対応するヘッダーが必要です。たとえば#include <gtk/gtk.h>、GTK ライブラリを使用します (多くのディストリビューションでは、ヘッダーはデフォルトでインストールされません。たとえば、Debian や Ubuntu ではlib{libraryname}-dev、apt-get を使用してパッケージをダウンロードする必要があります。 )。

コンパイルするには、リンカーとコンパイラに、コンパイル対象のライブラリがどこにあるかを伝える必要があります。これを行うには、pkg-config[2] を使用して、ほとんどのライブラリに適した gcc-L-Iスイッチを見つけることができます (または、IDE をセットアップするか、Makefile にそのように指示することができます)。

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

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

于 2012-04-27T23:50:49.233 に答える