問題タブ [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.
windows - glib(mm) で UDP ソケットを監視すると CPU 時間が消費される
UDP パケットを受信する (送信なし) GTKmm Windows アプリケーション (MinGW で構築) があります。ソケットはネイティブの winsock で、glibmm IOChannel を使用してアプリケーションのメイン ループに接続します。ソケットは recvfrom で読み取られます。
私の問題は、このセットアップが 3 GHz ワークステーションで 25% の CPU 時間を消費することです。誰かが理由を教えてもらえますか?
この場合、アプリケーションはアイドル状態であり、UDP コードを削除すると、CPU 使用率がほぼゼロに低下します。アプリケーションは CPU を集中的に使用するタスクを実行する必要があるため、その 25% を費やすより良い方法を想像できます。
ここにいくつかのコードの抜粋があります: (printf で申し訳ありません ;) )
私はここで他の質問を読んだことがあります。また、ソケットが非ブロックモードになっていることを glib ドキュメント (g_io_channel_win32_new_socket()) で読んだことがあります。これは「実装の副作用であり、避けられない」ものです。これで CPU 効果が説明できますか?
パケットが到着する前に CPU が使い果たされ、読み取りハンドラーが呼び出されるため、glib を使用してソケットにアクセスするか、recvfrom() を直接呼び出すかどうかは、大きな違いはないようです。また、glibmm ドキュメントでは、ソケットがポーリングされていても recvfrom() を呼び出しても問題ないと述べています (Glib::IOChannel::create_from_win32_socket())。
-pg を使用してプログラムをコンパイルし、gprof を使用して関数ごとの CPU 使用率レポートを作成してみました。時間は私のプログラムではなく、外部の glib/glibmm dll で費やされているため、これは役に立ちませんでした。
c - glibでutf8を印刷する
utf8シンボルをglib関数で印刷できないのはなぜですか?
ソースコード:
次のように作成します。
glibはutf8を出力できず、fprintfは次のことができることがわかります。
gtk - glibとマルチスレッドのマニュアル
どこかに本や良いマニュアルがありますが、GTK + / glib、およびC / GTK +のマルチスレッドについてのより良い本ですか?メインウィンドウ以外のスレッドで関数を実行し、キャンセル可能にする必要があります。
ipc - IPC に glib イベント ループを使用することは可能ですか?
1 つの親 - 多くの子プロセス モデルで IPC に glib イベント ループと glib io チャネルを使用することは可能ですか?
親と子は、互いに「コマンド」を送信できる必要があります。
いくつかのチュートリアルや例を教えてもらえますか?
daemon - glib を使用する非 GUI プログラムは?
glibを使用する非 GUI プログラム (デーモン) は?
c - Glib: g_test_queue_free で解放するためにキューに入れられたポインターを再利用できますか?
Glib Testing フレームワークを使用して、g_test_queue_free で解放するためにキューに入れられたポインターを再利用できるかどうか知りたいですか?
これが私がやろうとしていることのコードサンプルです:
dependencies - さまざまなバージョンの glib ヘッダーを含める
ac と bc の 2 つのソース ファイルがある場合: ac は glib-2.6.6 の glib.h をインクルードし、bc は glib-2.12 の glib.h をインクルードします。
次に、それらをコンパイルしてリンクし、ターゲット プログラムを生成します。ac が v2.6 以降に導入された新しい機能を使用していないと仮定すると、異なるバージョンのヘッダーを含めると問題が発生しますか? もしそうなら、そのような問題はいつ起こりますか?
cocoa - Mac OS での Glib クォークの類似物
CoreFoundation やその他のフレームワークで g_quark_from_string() と g_quark_to_string() の類似物を知っているかもしれません。
c++ - GLib の構築中にエラーが発生しました
makefile を使用して GLib-2.4.0 をビルドしようとしています。
次のエラーが表示されます。
何か案は?
c++ - 日本語半角・全角変換
glib::ustring を使用して日本語の文字幅の問題に直面しています。
私はこの紐を持っています:ウェッジパンプス
変換したい: ウエッシパンプス
ustring::normalize を使用して、次の文字列を取得します: ウェッジパンプス (実際、ここでは、アクセント付きの各文字が 2 文字の幅を占めています)
この種の処理を行う標準的な方法はありますか? これはICUの方が得意ですか?
半角の文字列と全角の同じ文字列が異なるため、日本語の文字列を 2 つの形式のいずれかに変換する必要があります。