問題タブ [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.

0 投票する
1 に答える
554 参照

c - GHashTable内にGSListを配置するには?

GSListをGHashTable内に配置したいのですが、これをすべて管理した方法は次のとおりです。

でプログラムをコンパイルします

したがって、このプログラムはセグメンテーション違反を生成します。すべてのデータをリストに正しく追加し、リストをハッシュテーブルに追加したため、これがどのように発生するかわかりません。これを解決する方法についてのアイデアはありますか?

0 投票する
2 に答える
679 参照

x11 - X11アプリをDbusに接続する方法

X11アプリケーションでDBusシグナルをリッスンする方法。Dbusシグナルをリッスンするためにgmainloopを起動する必要があり、X11アプリの場合はXEventループを起動する必要があります。それで、これを行うためのエレガントな方法はありますか?または、別のスレッドでgmainloopを実行する必要がありますか?

よろしく、リーヴォン

0 投票する
1 に答える
2344 参照

c++ - GLib - C++ のメイン イベント ループ

GLib ライブラリに基づく C++ で独自のメイン イベント ループを実装する必要があります。どこから始めればよいかわかりません。GLib に関するいくつかの資料を調べましたが、イベント ループの実装方法を知るのに役立ちません。誰かがそれについてアドバイスをくれたり、ソースコードを教えてくれませんか? 基本的に、GLib から GSource と GSourceFuncs を実装する必要があります。イベント ループはプラットフォームに依存しない必要がありますが、私のアプリケーションは Android で実行されます。Android でイベント ループがどのように実装されているかわかりません。誰か説明してもらえますか? どうもありがとう。

ルーカス

0 投票する
2 に答える
182 参照

c - glib'イベントの残り時間を取得することは可能ですか?'

g_timeout_addイベントIDを使用して、またはg_timeout_add_secondsイベントIDを返すイベントを作成しています。を呼び出すことでイベントをキャンセルできg_source_removeます。

ただし、ある時点で、イベントが発生するまでの残り時間を確認したいと思います。glib apiを使用してこれを行う簡単な方法はありますか、それともタイムスタンプを手動で保存して比較する必要がありg_source_get_current_timeますか?

0 投票する
3 に答える
4803 参照

c - glibメモリ割り当てVSstd* alloc and free

私は、std * alloc / free関数を使用して、Cプログラムの動的メモリを割り当て/解放する傾向があります。std関数の代わりにGLIBメモリ割り当て関数を使用する正当理由があるのではないかと思います。

コミュニティがこれらの解決策のいずれかが勝者/敗者である状況を指摘できれば幸いです。また、どちらかを使用した場合に発生する可能性のあるパフォーマンスの問題にも関心があります。

ありがとう !

州のプラットフォームに編集

これらのプログラムは通常、すべてのタイプのLinux / Unixディストリビューションで実行され、通常はgcc4.2を使用してコンパイルされた64ビットのアーチです。

0 投票する
4 に答える
3158 参照

c++ - UTF-8 から UTF-16 ビッグ エンディアンへの文字列変換が失敗する (C、C++ 言語を使用)

g_convert() glib 関数を使用して、utf-8 文字列を utf-16 ビッグ エンディアン文字列に変換しています。変換に失敗しています。「変換はサポートされていません」というエラーが表示されます

誰かがこの問題を克服する手がかりを与えることができますか.

ありがとう

以下は、文字列を UTF-8 から変換するために使用されるコードの一部です。UTF16 バイエンディアンに

0 投票する
1 に答える
2422 参照

c - glib の g_file_test の問題

glib/gtk を学ぼうとしています。ディレクトリ内のファイルを印刷し、通常のファイルの場合は「f」、ディレクトリの場合は「d」を割り当てるコードを少し書きました。問題はifにあります。常に偽の値を取得し、ファイル名に「f」を追加します。

0 投票する
1 に答える
2444 参照

c - glibでtcmallocを使用する

Googleのtcmallocを使用して得られるパフォーマンスの向上をテストしたいと思います。私のプログラムは、glibが提供する非常に多くのユーティリティ(ハッシュ、リスト、配列など)を使用して構築されています。だから私が欲しいのは基本的にglibがglibcのmallocの代わりにtcmallocを使うようにすることです。

この問題には、次の2つのアプローチで対処できます。

  1. オプションを指定してglibをコンパイルし-tcmallocます。
  2. glibのメモリ割り当て関数g_mem_set_vtable ()から使用する。

私は実際には2番目のものを好みますが、それを実装するための例は見つかりませんでした。

ヒントはありますか?これを行うためのアイデアはありますか?

0 投票する
2 に答える
8215 参照

c - Valgrind は、glib データ型の使用時にメモリが「失われた可能性がある」と報告します

いくつかの glib データ構造 (GHashTable、GSList など) を使用してライブラリを開発しています。valgrind を使用して、コードのメモリ リークを頻繁にチェックしています。valgrind が指摘する問題のほとんどは簡単に修正できますが、私には理解できない問題がいくつかあります。

これらはすべて「失われた可能性がある」と報告されています。

valgrind スタックトレースの上部には、常に同じ 4 つのライブラリがあります。

呼び出しスタックのさらに下には、g_key_file_new()、g_slist_prepend()、g_strsplit()、g_key_file_load_from_file()、g_file_get_contents() などの glib 関数への呼び出しが常にあります。

私の質問は次のとおりです。

  • 誰かがこれに遭遇し、それを回避する方法を見つけましたか?

  • それとも、これは私が無視できるものですか?ここで提案されているように、メモリプールを使用する glib が原因ですか?

私は使っている

  • valgrind-3.5.0
  • glib-2.12.3
  • gcc (GCC) 4.1.2 20080704 (レッドハット 4.1.2-48)
  • CentOS リリース 5.5 (最終版)
0 投票する
1 に答える
1815 参照

gcc - libwireshark に対するコンパイル

libwiresharkUbuntu 10.10に対してプログラムをコンパイルしようとしています。と にファイルをインストールしたwireshark-devパッケージをインストールしました。/usr/lib/wireshark/usr/include/wireshark

私の C ソース コード ファイルの先頭には#include <epan/epan.h>ディレクティブが含まれており、gccコマンド ライン引数は次のとおりです。

ただし、これは次のような多くのエラーを返します。

これらの問題を修正するにはどうすればよいですか?