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

c - 对 GLib 友好的 MD5 例程?

有谁知道易于与 GLib 一起使用的 MD5/SHA1/etc 例程(即您可以给它一个 GIOChannel 等)?

0 投票
3 回答
6253 浏览

c - GLib v APR 各有优缺点

我有几个我想开始的爱好 C 编程项目。我正在寻找一个具有自由许可证的开源库(我想要信用,但几乎任何人都可以使用)。该库需要比 C 标准库和一些可移植的线程原语更好的字符串。

我正在考虑GLibAPR。你的实践经验是什么?哪个是更好的基础 C 库?是否有其他图书馆填补了同样的空白?

0 投票
6 回答
26933 浏览

c - 学习 GObject 和 Glib 的材料

我对 C. 很满意,但需要学习GObjectGlibgstreamer. 我在网上找到的只是 Gobject 参考手册。它很好,但正在寻找 Gobject/Glib 的教程,因为主要关注的是 gstreamer。

所以请分享任何其他资源来学习 glib 和 gobject。

0 投票
2 回答
7283 浏览

c - GLib 哈希表循环问题

我将在 C 程序中使用GLib的 Hash table 实现,现在我只是在试验它。我编写了以下代码进行测试:

不知何故,我的测试代码可以正确迭代,但在循环中它总是返回最后一个键和最后一个值对,而且它总是一样的。这里有什么问题?上面的代码可能无法运行,因为它是格式。我只是复制并粘贴了一些部分,以便清楚地了解我要做什么。

0 投票
1 回答
1912 浏览

glib - gtkmm:从其他线程更新 gui?

我正在使用 gtkmm(和 glibmm),我想从另一个线程更新 GUI。我已经按照上的例子

http://www.gtkmm.org/docs/glibmm-2.4/docs/reference/html/thread_2dispatcher_8cc-example.html#_a1

但我有两个问题:

  • 不是 Glib::MainLoop 接收事件,而是 Gtk::Main (运行我的窗口)是否可以接受信号?

  • 我可以以某种方式使用带参数的 .connect() 函数吗?我知道使用 SigCX 是可能的,但我认为那里的语法有点讨厌。

谢谢!

0 投票
1 回答
1573 浏览

logging - glib 中的默认日志处理程序是否可以传递多个日志级别?

glib GLogLevelFlags 枚举定义为:

默认处理程序是否可以接收例如 (G_LOG_LEVEL_ERROR | G_LOG_LEVEL_DEBUG) 作为其日志级别?根据 glib 的 API 保证,这是明确定义的吗?

0 投票
2 回答
472 浏览

glib - Glib 有多个分支吗?

我正在尝试从源代码构建 Firefox,但我对某些要求感到困惑。

我正在尝试构建需要 glib 的 libIDL。我构建了 glib 并将其安装到 /usr/local,但是当我尝试配置 libIDL 时,出现以下错误:

我使用了我能找到的最新版本的 glib, ftp: //ftp.gtk.org/pub/glib/2.20/glib-2.20.3.tar.gz

但是,我也一直在四处搜索并看到对 libglib-2.0 的引用,例如http://packages.debian.org/search?keywords=libglib2.0-dev

Glib 是否有 2 个不同的分支,例如 v1 和 v2?

0 投票
1 回答
547 浏览

gtk - 如果我有两个 Glib::IOChannel 实例,它们会阻塞直到都被写入。这样做的正确方法是什么?

我已修改此处找到的示例以使用两个 io 通道。在我写入两个通道之前,似乎没有调用任何回调。之后,在写入 fifos 时会单独调用它们。我是不是忘记了什么?

  • 在一个 shell 窗口中启动测试程序。
  • 在第二个 shell 窗口中写入 echo "abc" > testfifo1。-> 什么也没有发生。
  • 在第三个 shell 窗口中写入 echo "def" > testfifo2。-> 现在我得到“abc”和“def”
  • 写信给其中一个fifo。这立即送达。

编辑:正如下面的 Gormley 所暗示的,解决方案是缺少非阻塞。

对下面代码的这种更改使其立即响应。

编码:

0 投票
3 回答
821 浏览

c - 可执行文件起始目录的绝对路径

我试图弄清楚如何获取我的程序的起始目录。我正在使用 C 并且可以访问 GLib。在 Linux 端很简单,只要程序启动,g_get_current_directory 就会存储这个值以备后用。我尝试在 Windows 上使用相同的方法,但 g_get_current_directory 返回 %APPDATA% 解析的任何内容。

关于如何使用 C 获取起始目录的任何想法?

谢谢,

0 投票
5 回答
60447 浏览

c - 为什么我不能为 glib 构建一个“hello world”?

所以这是世界上最简单的 glib 程序:

我尝试编译它,gcc test.c我得到:

所以我确保我有正确的包:

然后我在 /usr/include 下的任何地方搜索任何“glib.h”。我得到两个,/usr/include/glib-1.2/glib.h 和 /usr/include/glib-2.0/glib.h。所以我尝试:

(大约还有 10,000 个错误被剪断)

我的电脑上似乎没有glibconfig.h任何地方。

现在我该怎么做?