問題タブ [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アトムとメモリチャンク
次のコードスニペットは、公式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
どうしたの?
c - GLib ハッシュ テーブル - ポインター
特定のキーが見つかった場合、その値をインクリメントしようとしています。何らかの理由keys:values
で、ハッシュ テーブルからすべてをダンプすると、(ポインター) アドレスを取得し続けます。
どんなアイデアでも大歓迎です。
c - ハッシュテーブルの並べ替えGlib-qsort
GLibハッシュテーブルを次のようなIDで並べ替えようとしています。
GLibにはsortメソッドがないため、これにどのようにアプローチするかがわかりません。qsortまたはGCompareFuncを使用することを考えていました
どんなアイデアでも喜ばれます!
c - GIOService (GLib、Glib-GIO) を使用して単純なソケット サーバーを実装するのに助けが必要
GLib を使用してシンプルで効率的なソケット サーバーを作成するための基礎を学んでいます。私は GSocketService を試しています。これまでのところ、接続を受け入れることしかできないようですが、すぐに閉じられます。ドキュメントから、どのステップが欠けているのかわかりません。誰かが私のためにこれに光を当ててくれることを願っています。
以下を実行する場合:
サーバーからの出力:
現在のコード:
c - Glibsegfaultg_freeハッシュテーブル
データを解放しようとすると、セグメンテーション違反が発生する理由がよくわかりません。どんな助けでもそれを高く評価するでしょう。
c++ - Glib::ustring と日本語の文字
Glib::ustring は UTF8 でうまく動作するはずですが、日本語の文字列を扱うときに問題があります。
「わたし」と「ワタシ」の 2 つの文字列を == 演算子または比較メソッドを使用して比較すると、これら 2 つの文字列は等しいと答えられます。
理由がわかりません。Glib::ustring はどのように機能しますか?
比較に失敗することがわかった唯一の方法は、異なるサイズの文字列を比較することです。たとえば、「海外わたわ」と「海外わた」。
非常に奇妙な...
glib - GLibで整数を文字列に変換するには?
GLib で整数値を文字列に変換したい。そのためのマクロや関数はありますか? または、同じ双方向リンク リストに異なるデータ型を格納できますか?
c - Vala vapi ファイルのドキュメント
Vala を使用して、既存の GLib ベースの C プロジェクトをハックしたいと思います。
基本的に私がやっていることは、ビルド プロセスの開始時に、valac を使用して .vala ファイルから .c および .h ファイルを生成し、生成されたファイルを .c または .h ファイルと同じようにコンパイルすることです。
これはおそらく最善の方法ではありませんが、ほとんどの場合問題なく機能しているようです。
私の問題は、Vala コードから既存の C コードにアクセスするのに苦労していることです。これを行う簡単な方法はありますか?
独自の .vapi ファイルを書き込もうとしましたが (vala に付属のツールではうまくいきませんでした)、これらの書き方に関する適切なドキュメントが見つかりません。
存在しますか?既存の C コードを呼び出すには、これらのファイルのいずれかが必要ですか?
ubuntu - 新しいバージョンの glib を必要とするプログラムをコンパイルする方法
Ubuntu 8.04 で Webkit をコンパイルしようとしています。しかし、autogen.sh を実行すると、新しいバージョンの glib が必要であるという次のエラーが表示されます。では、OS の残りの部分を台無しにすることなく glib をインストールする最も安全な方法は何ですか?
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 関数ですか?
助けてくれてありがとう。私はこれに何時間も費やしましたが、どこにも行きませんでした。