問題タブ [glib]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - GLib に適した MD5 ルーチン?
GLib で簡単に使用できる MD5/SHA1/etc ルーチンを知っている人はいますか (つまり、GIOChannel などを指定できます)。
c - GObjectとGlibを学ぶ教材
私は C に慣れていますが、GObject
とGlib
forを学ぶ必要がありgstreamer
ます。私がネットで見つけたのはGobjectリファレンスマニュアルだけです。主な焦点はgstreamerであるため、Gobject/Glibのチュートリアルを探しています。
したがって、他のリソースを共有して、glib と gobject を学習してください。
c - GLib ハッシュ テーブル ループの問題
私はC プログラムでGLibのハッシュ テーブルの実装を使用する予定で、今のところはそれを試しているところです。テスト用に次のコードを書きました。
どういうわけか私のテストコードは正しく繰り返されますが、ループでは常に最後のキーと最後の値のペアが返され、常に同じです。ここで何が問題なのですか?上記のコードは、そのままの形式では実行できない場合があります。私がやろうとしていることについて明確な考えを与えるために、いくつかの部分をコピーして貼り付けただけです。
glib - gtkmm: 他のスレッドから GUI を更新しますか?
私は gtkmm (および glibmm) を使用しており、別のスレッドから GUI を更新したいと考えています。私はの例に従いました
http://www.gtkmm.org/docs/glibmm-2.4/docs/reference/html/thread_2dispatcher_8cc-example.html#_a1
しかし、私は2つの質問があります:
Glib::MainLoop がイベントを受け取る代わりに、Gtk::Main (ウィンドウを実行する) がシグナルを受け取ることは可能ですか?
何らかの方法で .connect() 関数に引数を付けることはできますか? SigCX を使用して可能であることは知っていますが、構文が少し厄介だと思いました。
ありがとう!
logging - glibのデフォルトのログハンドラーに複数のログレベルを渡すことは可能ですか?
glibGLogLevelFlags列挙型は次のように定義されます。
デフォルトのハンドラーが、たとえば(G_LOG_LEVEL_ERROR | G_LOG_LEVEL_DEBUG)をログレベルとして受け取ることは可能ですか?これは、glibのAPI保証に従って明確に定義されていますか?
glib - Glib には複数のブランチがありますか?
ソースから Firefox をビルドしようとしていますが、いくつかの要件に行き詰まっています。
glib を必要とする libIDL をビルドしようとしています。glib をビルドして /usr/local にインストールしましたが、libIDL を構成しようとすると、次の場所で失敗します。
ftp://ftp.gtk.org/pub/glib/2.20/glib-2.20.3.tar.gzにある最新バージョンの glib を使用しました。
ただし、私も検索しており、http://packages.debian.org/search?keywords=libglib2.0-dev などの libglib-2.0 への参照を見ています。
v1 と v2 のように、Glib には 2 つの分岐ブランチがありますか?
gtk - Glib::IOChannel のインスタンスが 2 つある場合、両方が書き込まれるまでブロックされます。これを行う正しい方法は何ですか?
ここにある例を 2 つの io チャネルを使用するように変更しました。両方のチャネルに書き込む前にコールバックが呼び出されないようです。その後、FIFO への書き込み時に個別に呼び出されます。私は何かを忘れていますか?
- 1 つのシェル ウィンドウでテスト プログラムを開始します。
- 2 番目のシェル ウィンドウに echo "abc" > testfifo1 と記述します。→何も起こりません。
- 3 番目のシェル ウィンドウに echo "def" > testfifo2 と記述します。-> "abc" と "def" を取得するようになりました
- fifo の 1 つに書き込みます。これはすぐに提供されます。
編集:以下のゴームリーが示唆しているように、解決策は非ブロックの欠如でした。
以下のコードへのこの変更により、すぐに応答するようになりました。
コード:
c - 実行開始ディレクトリの絶対パス
プログラムの開始ディレクトリを取得する方法を見つけようとしています。私は C を使用しており、GLib にアクセスできます。Linux 側では、プログラムが起動されるとすぐに g_get_current_directory を実行し、後で使用するためにこの値を保存するのは簡単です。Windowsで同じ方法を使用しようとしましたが、 g_get_current_directory は %APPDATA% が解決するものを返します。
Cを使用して開始ディレクトリを取得する方法についてのアイデアはありますか?
ありがとう、
c - glib の「hello world」を構築できないのはなぜですか?
これが世界で最も単純な glib プログラムです。
私はそれをコンパイルしようとするとgcc test.c
、次のようになります:
したがって、適切なパッケージがあることを確認します。
次に、/usr/include の下にある「glib.h」を検索します。/usr/include/glib-1.2/glib.h と /usr/include/glib-2.0/glib.h の 2 つを取得します。だから私は試します:
(さらに約 10,000 個のエラーが削除されました)
glibconfig.h
コンピューターのどこにもないようです。
私は今何をしますか?