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

c - 如何将 GSList 放入 GHashTable 中?

我想将GSList放在GHashTable中,这是我管理所有这些的方式:

编译程序

所以这个程序产生了一个段错误,我不知道这是怎么发生的,因为我正确地将所有数据添加到列表中,并将列表添加到哈希表中,关于如何解决这个问题的任何想法?

0 投票
2 回答
679 浏览

x11 - 如何将 X11 应用程序附加到 Dbus

如何让 X11 应用程序监听 DBus 信号。应该启动监听 Dbus 信号的 gmainloop,并启动 X11 应用程序 XEvent 循环。那么有没有一种优雅的方法来做到这一点?还是我必须在另一个线程中运行 gmainloop。

问候,列文

0 投票
1 回答
2344 浏览

c++ - GLib - C++ 中的主事件循环

我需要在 C++ 中实现我自己的基于 GLib 库的主事件循环。我不知道从哪里开始。我研究了一些关于 GLib 的资料,但它并没有帮助我知道,如何实现事件循环。有人可以给我一些建议或给我一些源代码吗?我基本上需要从 GLib 实现 GSource 和 GSourceFuncs。事件循环应该独立于平台,但我的应用程序将在 Android 上运行。我找不到如何在 Android 中实现事件循环,有人也可以向我解释一下吗?非常感谢。

卢卡斯

0 投票
2 回答
182 浏览

c - 可以检索在 glib '事件中剩下的时间吗?

我正在创建一个带有g_timeout_addg_timeout_add_seconds返回事件 ID 的事件;我可以通过调用取消活动g_source_remove

但是,在某些时候,我想做的是查看在触发事件之前还剩多少时间。有没有一种简单的方法可以使用 glib api 执行此操作,还是我需要手动存储和比较时间戳g_source_get_current_time

0 投票
3 回答
4803 浏览

c - glib 内存分配 VS std *alloc 和 free

我倾向于使用 std *alloc/free 函数在我的 C 程序中分配/释放动态内存。我想知道是否有充分的理由使用GLIB 内存分配函数而不是 std 函数。

如果社区能指出这些解决方案中的任何一个是赢家/输家的情况,我将不胜感激。我也对使用其中一种时可能遇到的性能问题感兴趣。

谢谢 !

编辑到状态平台

这些程序通常在所有类型的 Linux/Unix 发行版上运行,通常是使用 gcc 4.2 编译的 64 位拱门。

0 投票
4 回答
3158 浏览

c++ - 从 UTF-8 到 UTF-16 Big endian 的字符串转换失败(使用 C、C++ 语言)

我正在使用 g_convert() glib 函数将 utf-8 字符串转换为 utf-16 大端字符串。转换失败。我们收到一条错误消息,提示“不支持转换”

有人可以提供一个线索来克服这个问题。

谢谢

以下是用于从 UTF-8 转换字符串的代码。转为 UTF16 Bigendian

0 投票
1 回答
2422 浏览

c - glib 中的 g_file_test 问题

我正在尝试学习 glib/gtk。我写了一些代码来打印目录中的文件,如果它们是普通文件,则分配“f”,如果它们是目录,则分配“d”。问题在于如果。它总是获取错误值并将“f”附加到文件名。

0 投票
1 回答
2444 浏览

c - 将 tcmalloc 与 glib 一起使用

我想测试使用 Google 的 tcmalloc 可以获得的性能改进。我的程序是使用 glib 提供的大量实用程序(哈希、列表、数组......)构建的。所以我想要的基本上是让glib使用tcmalloc而不是glibc的malloc。

我可以用两种方法解决这个问题:

  1. 通过使用-tcmalloc选项编译 glib。
  2. 通过使用g_mem_set_vtable ()glib的内存分配函数

我实际上更喜欢第二个,但我还没有找到任何实现它的例子。

有什么提示吗?这样做有什么想法吗?

0 投票
2 回答
8215 浏览

c - 使用 glib 数据类型时,Valgrind 报告内存“可能丢失”

我正在使用许多 glib 数据结构(GHashTable、GSList 等)开发一个库。我一直在使用 valgrind 经常检查我的代码是否存在内存泄漏。valgrind 指出的大多数问题都很容易解决,但是有一些我无法弄清楚。

所有这些都被报告为“可能丢失”。

在 valgrind 堆栈跟踪的顶部,我总是找到相同的 4 个库:

在调用堆栈的更下方,总是会调用 glib 函数,例如 g_key_file_new()、g_slist_prepend()、g_strsplit()、g_key_file_load_from_file()、g_file_get_contents()。

我的问题是:

  • 有没有人遇到过这个并找到解决方法?

  • 或者这是我可以忽略的东西?是因为 glib 使用了内存池,正如这里所建议的那样吗?

我在用

  • valgrind-3.5.0
  • glib-2.12.3
  • gcc (GCC) 4.1.2 20080704 (红帽 4.1.2-48)
  • CentOS 5.5 版(最终版)
0 投票
1 回答
1815 浏览

gcc - 针对 libwireshark 进行编译

我正在尝试libwireshark在 Ubuntu 10.10 上编译一个程序。我已经安装了该wireshark-dev软件包,该软件包已将文件安装在/usr/lib/wireshark/usr/include/wireshark.

我的 C 源代码文件的头部包含一个#include <epan/epan.h>指令,我的gcc命令行参数如下:

但是,这会返回许多错误,包括:

我应该怎么做才能纠正这些问题?