将 c++0x 线程与 gio GCancellable 混合使用是合法的吗?
如果我没记错的话,没有简单的方法可以取消 c++0x 线程。我想知道将 GCancellable 与 c++0x 混合使用是否合法线。 如果答案是 没有 我想我应该使用 gl…
GTK / Glib:如何将消息从 GUI 线程发布到工作线程?
GTK 不是线程安全的,而是线程感知的 - 它可以在多个线程中使用,确保使用全局锁来保护 GTK API 调用。如果我需要从工作线程向 GTK GUI 线程发布消息…
内存分配失败时 g_strdup 是否返回 NULL?
glib 文档缺少许多我认为 API 文档绝对应该包含的重要内容。例如 g_malloc 的条目表示 没有什么它会在内存分配失败时崩溃(与标准malloc的行为形成直…
g_scanner_scope_add_symbol中的scope_id参数代表什么?
使用词法扫描器 GScanner 时,我想添加自己的符号进行扫描。在查找信息时,我只找到 API 文档和其他人的源代码(例如 Gimp)。除非我错过了一些明显的…
如何自动使用 /usr/include/glib-2.0 而不是 /usr/local/include/glib-2.0
我不确定我的系统何时发生此更改,但我曾经能够构建使用 /usr/include/glib-2.0 的东西。但现在我的构建由于 glib 而失败,并且我注意到它正在使用另…
g_file_new_for_path() 导致分段错误
// gcc -o 0 $(pkg-config --cflags --libs gtk+-2.0) 1.c #include int main (int argc, char *argv[]) { GFile *f1 = NULL; f1 = g_file_new_for_pa…
使用 GLib 中的 GHashTable?
我正在尝试使用 GHashTable 在我的代码中。我将使用 int 作为我的键,使用结构体作为我的值。我的问题: 我是否必须为用作键的 int 分配内存,或者我…
JavaScript Glib.spawn_async 标准输出文件描述符
我想在 gnome3 shell 扩展中的 javascript 中的 GLib 绑定中使用 spawn_async 生成一个进程。 我需要类似 python 文档中的“standard_output=True…
GLib API 将十六进制字符串转换为 ASCII 字符串?
我不敢相信 GLib 中没有 API 可以做到这一点,目前我只发现人们在做自己的转换,比如 此处和此处(名为“解码”的函数)。我真的很想找到一种方法在简…
检查 Windows 上子进程的退出状态
在 gEDA 中,我们有一个帮助程序,需要创建一个子进程并检查其退出状态以确保其成功完成。在 Linux 上,我们使用类似的内容 #include #include static…
如何将 ZeroMQ 套接字集成到 glib 主循环中?
我想将 ZeroMQ 套接字添加到 glib 程序中。 遗憾的是,zmq 套接字不支持 poll(),并且他们给出了自己的实现,这会重载旧的 poll() 函数。我怎样才能有…
在 ubuntu amd64 上编译 glib 时出现问题
我正在尝试在 ubuntu 11.04 amd64 机器上构建最新的 gtkmm,它需要 glib 作为其依赖项之一。但是在./configure之后尝试使用make命令时出现此错误。 错…
g_slice 真的比 malloc 快吗
GLib 文档建议使用 GLib Slice Allocator 而不是 malloc: “对于新编写的代码,建议使用新的 g_slice API 而不是 g_malloc() 等,只要对象在其生命周…
没有 GTK 的 GDK 事件处理
我正在(用 python)编程 GDK,而不使用 GTK,只是作为 x11 抽象。这篇文章是我最后的机会。 我的问题是我不知道如何捕获 GDK 窗口的信号/事件或者它…