问题标签 [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 读取套接字。
我的问题是:这个设置在 3GHz 工作站上占用了 25% 的 CPU 时间。有人可以告诉我为什么吗?
在这种情况下,应用程序处于空闲状态,如果我删除 UDP 代码,CPU 使用率会下降到几乎为零。由于应用程序必须执行一些 CPU 密集型任务,我可以想象更好的方式来花费这 25%
以下是一些代码摘录:(对不起 printf 的;))
我在其他一些问题中以及在 glib 文档 (g_io_channel_win32_new_socket()) 中读到了套接字被置于非阻塞模式,这是“实现的副作用并且不可避免”。这是否解释了 CPU 效应,我不清楚?
我是否使用 glib 访问套接字或直接调用 recvfrom() 似乎没有太大区别,因为 CPU 在任何数据包到达之前就用完了并且读取处理程序被调用。glibmm 文档还指出,即使轮询套接字也可以调用 recvfrom() (Glib::IOChannel::create_from_win32_socket())
我尝试使用 -pg 编译程序并使用 gprof 创建每个函数的 cpu 使用情况报告。这没有用,因为时间没有花在我的程序上,而是花在了一些外部 glib/glibmm dll 上。
c - printing utf8 in glib
Why utf8 symbols cannot be printed via glib functions?
Source code:
Build it like this:
You could see that glib can't print utf8 and fprintf can:
gtk - glib 和多线程手册
是否有任何书籍或好的手册,但更好的书籍是关于 GTK+/glib 和 C/GTK+ 中的多线程?我需要在主窗口之外的另一个线程中运行一个函数,并使其可取消。
ipc - 是否可以为 IPC 使用 glib 事件循环?
是否可以在一个父进程模型中为 IPC 使用 glib 事件循环和 glib io 通道?
父母和孩子必须能够互相发送“命令”。
你能指点我一些教程或例子吗?
daemon - 哪些非 GUI 程序使用 glib?
哪些非 GUI 程序(守护进程)使用glib?
c - Glib:我可以重用排队等待使用 g_test_queue_free 释放的指针吗?
使用 Glib 测试框架,我想知道是否可以重用排队等待使用 g_test_queue_free 释放的指针?
这是我正在尝试做的代码示例:
dependencies - 包括不同版本的 glib 头文件
如果有两个源文件ac和bc:ac包含glib-2.6.6的glib.h,bc包含glib-2.12的glib.h
然后我编译它们并将它们链接在一起并生成目标程序。假设 ac 没有使用 v2.6 之后引入的任何新功能,包含不同版本的 headers 会导致任何问题吗?如果是这样,什么时候会出现这样的问题?
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,我得到这个字符串:ウェッジパンプス (实际上,在这里,每个带重音的字符填充两个字符宽度)
有没有标准的方法来做这种处理?ICU在这方面做得更好吗?
我需要将日文字符串转换为两种格式之一,因为半角字符串与全角字符串不同。