問題タブ [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 に答える
288 参照

c - GLibアトムとメモリチャンク

次のコードスニペットは、公式GNOME2開発者ガイドからのものです。

  • これは、すべてのアトムが42バイトであり、各「メモリチャンク」に42個の16アトムが含ま40000/16=2500れ、上記のコードを実行するとメモリチャンクが作成されることを意味しますか?

  • なぜここでgchar*を使用しているのですか?が実行されると、gpointer(void *)からgchar *への暗黙のキャストが行われdata[i] = g_mem_chunk_alloc(my_chunk);ますか?

  • 上記のステートメントが当てはまる場合、各gchar*は42バイトのメモリを指します。では、特定のアトムのすべてのバイトにアクセスするにはどうすればよいですか?data[7]+41使用可能なメモリロケーションになりますか?


  • コードをコンパイルしようとすると、gccは次のエラーメッセージを生成します。

    error: storage size of ‘my_chunk’ isn’t known どうしたの?

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

c - GLib ハッシュ テーブル - ポインター

特定のキーが見つかった場合、その値をインクリメントしようとしています。何らかの理由keys:valuesで、ハッシュ テーブルからすべてをダンプすると、(ポインター) アドレスを取得し続けます。

どんなアイデアでも大歓迎です。

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

c - ハッシュテーブルの並べ替えGlib-qsort

GLibハッシュテーブルを次のようなIDで並べ替えようとしています。

GLibにはsortメソッドがないため、これにどのようにアプローチするかがわかりません。qsortまたはGCompareFuncを使用することを考えていました

どんなアイデアでも喜ばれます!

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

c - GIOService (GLib、Glib-GIO) を使用して単純なソケット サーバーを実装するのに助けが必要

GLib を使用してシンプルで効率的なソケット サーバーを作成するための基礎を学んでいます。私は GSocketService を試しています。これまでのところ、接続を受け入れることしかできないようですが、すぐに閉じられます。ドキュメントから、どのステップが欠けているのかわかりません。誰かが私のためにこれに光を当ててくれることを願っています。

以下を実行する場合:

サーバーからの出力:

現在のコード:

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

c - Glibsegfaultg_freeハッシュテーブル

データを解放しようとすると、セグメンテーション違反が発生する理由がよくわかりません。どんな助けでもそれを高く評価するでしょう。

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

c++ - Glib::ustring と日本語の文字

Glib::ustring は UTF8 でうまく動作するはずですが、日本語の文字列を扱うときに問題があります。

「わたし」と「ワタシ」の 2 つの文字列を == 演算子または比較メソッドを使用して比較すると、これら 2 つの文字列は等しいと答えられます。

理由がわかりません。Glib::ustring はどのように機能しますか?

比較に失敗することがわかった唯一の方法は、異なるサイズの文字列を比較することです。たとえば、「海外わたわ」と「海外わた」。

非常に奇妙な...

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

glib - GLibで整数を文字列に変換するには?

GLib で整数値を文字列に変換したい。そのためのマクロや関数はありますか? または、同じ双方向リンク リストに異なるデータ型を格納できますか?

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

c - Vala vapi ファイルのドキュメント

Vala を使用して、既存の GLib ベースの C プロジェクトをハックしたいと思います。

基本的に私がやっていることは、ビルド プロセスの開始時に、valac を使用して .vala ファイルから .c および .h ファイルを生成し、生成されたファイルを .c または .h ファイルと同じようにコンパイルすることです。

これはおそらく最善の方法ではありませんが、ほとんどの場合問題なく機能しているようです。

私の問題は、Vala コードから既存の C コードにアクセスするのに苦労していることです。これを行う簡単な方法はありますか?

独自の .vapi ファイルを書き込もうとしましたが (vala に付属のツールではうまくいきませんでした)、これらの書き方に関する適切なドキュメントが見つかりません。

存在しますか?既存の C コードを呼び出すには、これらのファイルのいずれかが必要ですか?

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

ubuntu - 新しいバージョンの glib を必要とするプログラムをコンパイルする方法

Ubuntu 8.04 で Webkit をコンパイルしようとしています。しかし、autogen.sh を実行すると、新しいバージョンの glib が必要であるという次のエラーが表示されます。では、OS の残りの部分を台無しにすることなく glib をインストールする最も安全な方法は何ですか?

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

c++ - コンパイラ エラーの解決に助けが必要: エラー: 'int' から 'GIOCondition' への変換が無効です

GIO を使用する単純な cpp ファイルがあります。コンパイルエラーを表示するためにすべてを取り除きました:

これが私が得るエラーです:

完全なファイルは次のとおりです。

gio を使用した他の例を見たことがありますが、G_IO_IN|G_IO_HUP を呼び出すという点では同じことをしています。また、ドキュメントhttp://www.gtk.org/api/2.6/glib/glib-IO-Channels.htmlには、 を含めるだけでよいと書かれており、それを実行しました。

エラーを解決する方法を教えてください。

私が考えることができることの1つは、これをcppファイルで行っていることです。しかし、g_io_add_watch は ac 関数ですか?

助けてくれてありがとう。私はこれに何時間も費やしましたが、どこにも行きませんでした。