问题标签 [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 投票
0 回答
554 浏览

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 上。

0 投票
4 回答
6450 浏览

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:

0 投票
2 回答
396 浏览

gtk - glib 和多线程手册

是否有任何书籍或好的手册,但更好的书籍是关于 GTK+/glib 和 C/GTK+ 中的多线程?我需要在主窗口之外的另一个线程中运行一个函数,并使其可取消。

0 投票
1 回答
1622 浏览

ipc - 是否可以为 IPC 使用 glib 事件循环?

是否可以在一个父进程模型中为 IPC 使用 glib 事件循环和 glib io 通道?

父母和孩子必须能够互相发送“命令”。

你能指点我一些教程或例子吗?

0 投票
5 回答
1400 浏览

daemon - 哪些非 GUI 程序使用 glib?

哪些非 GUI 程序(守护进程)使用glib

0 投票
1 回答
45 浏览

c - Glib:我可以重用排队等待使用 g_test_queue_free 释放的指针吗?

使用 Glib 测试框架,我想知道是否可以重用排队等待使用 g_test_queue_free 释放的指针?

这是我正在尝试做的代码示例:

0 投票
2 回答
236 浏览

dependencies - 包括不同版本的 glib 头文件

如果有两个源文件ac和bc:ac包含glib-2.6.6的glib.h,bc包含glib-2.12的glib.h

然后我编译它们并将它们链接在一起并生成目标程序。假设 ac 没有使用 v2.6 之后引入的任何新功能,包含不同版本的 headers 会导致任何问题吗?如果是这样,什么时候会出现这样的问题?

0 投票
1 回答
276 浏览

cocoa - Mac OS 上 Glib 夸克的模拟

也许您知道 CoreFoundation 或其他框架中的 g_quark_from_string() 和 g_quark_to_string() 的任何类似物?

0 投票
1 回答
910 浏览

c++ - 构建 GLib 时出错

我正在尝试使用 makefile 构建 GLib-2.4.0。

我收到此错误:

有任何想法吗?

0 投票
1 回答
2288 浏览

c++ - 日文半角/全角转换

我在使用 glib::ustring 的日语中遇到字符宽度问题。

我有这个字符串:ウェッジパンプス

我想把它转换成:ウエッシパンプス

使用 ustring::normalize,我得到这个字符串:ウェッジパンプス (实际上,在这里,每个带重音的字符填充两个字符宽度)

有没有标准的方法来做这种处理?ICU在这方面做得更好吗?

我需要将日文字符串转换为两种格式之一,因为半角字符串与全角字符串不同。