Articles of glib

2线程在Linux中并行

我刚开始实现线程。 我想要创build1个主线程和2个并行线程。 这是我的代码: #include <stdio.h> #include <pthread.h> #include <glib.h> #include <time.h> #define THREAD1 1 #define THREAD2 2 GMainLoop *loop1; GMainLoop *loop2; pthread_t pth1; // this is our thread identifier pthread_t pth2; // this is our thread identifier gboolean timeout_callback1(gpointer data){ clock_t start = clock(); int msec = start * 1000 / CLOCKS_PER_SEC; printf("timeout_callback ==== 1 […]

没有gettext的Linux Glib安装?

是否可以安装Glib(在我的情况下2.33.3)没有gettext? 我通过谷歌search,但我只是发现一些人认为这应该是可能的。 但没有人描述它。 目的:我需要安装udev。 这需要glib。 有人能帮我吗? 注意:我在目标板上使用定制的2.6.36内核

如何摆脱“GLIBCXX_3.4.9找不到错误”?

我正在build立一个redistrbutable .so文件。 但是,当我的用户尝试使用它,他们得到可怕的/usr/lib/libstdc++.so.6: version GLIBCXX_3.4.9' not found错误。 做一个objdump,它似乎是在我的二进制引起的问题这个特殊的符号: _ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l@@GLIBCXX_3.4.9 我如何告诉我的gcc / g ++编译/链接对旧版本的GLIBXX,以便我的用户不会得到这个错误? 还是解决这个难题的唯一方法就是安装一个单独的具有GLIBXX的旧版本的Linux?

使用glib.h中的GMainLoop而不是“while(true);”在C ++ linux中有什么优势?

我碰到一个代码,他们需要一个无限循环,他们使用 GMainLoop *mainloop = NULL; mainloop = g_main_loop_new (NULL, FALSE); g_main_loop_run (mainloop); 我怀疑他们为什么不使用while(true); 为了同样的目的。 GMainLoop在内部做了什么,内部是不是一样? GMainLoop如何提高性能。

如何以编程方式打开默认浏览器并在C / Linux中传递URL?

有没有一个方便的库调用,允许我打开我可以从C使用的默认浏览器? 我四处张望,没有看到任何东西。 有xdg开放,我可以只是我猜的系统。 任何更好的想法?

ARM交叉编译GLib 2.33.10,链接器错误

我是一个新手,我正在研究树莓派。 我有一个GLIB 2.33.10交叉编译的问题。 我已经从网站和所有依赖项(zlib,ffi)下载了源代码。 已经为ARM构build了依赖关系(在Raspberry上testing过)。 我目前正在使用arm-bcm2708hardfp-linux-gnueabi工具链。 我的configuration命令行如下: $ ZLIB_CFLAGS=-I/home/myuser/cross_lib/include/libzlib \ ZLIB_LIBS="-L/home/myuser/cross_lib/lib/libzlib/raspberry -lz" \ LDFLAGS="-L/home/myuser/cross_lib/libffi/lib -lffi -L/home/myuser/cross_lib/lib/libzlib/raspberry -lz" LIBFFI_CFLAGS=-I/home/myuser/cross_lib/libffi/lib/libffi-3.0.11/include \ LIBFFI_LIBS="-L/home/myuser/cross_lib/libffi/lib -lffi" \ ./configure –host=arm-bcm2708hardfp-linux-gnueabi glib_cv_stack_grows=yes \ glib_cv_uscore=yes ac_cv_func_posix_getpwuid_r=no \ ac_cv_func_posix_getgrgid_r=no –with-libiconv=no –without-pcre \ –enable-gtk-doc-html=no –enable-xattr=no –prefix=/home/cross_lib/glib23 你可以看到我禁用了iconv和pcre(这只是一个testing版本)。 configuration脚本是好的(这似乎是好的…)。 当开始构build过程时,它会持续一段时间(编译大量代码),然后在链接阶段进行search: /opt/tools/arm-bcm2708/arm-bcm2708hardfp-linux-gnueabi/bin/../lib/gcc/arm-bcm2708hardfp-linux gnueabi/4.7.1/../../../../arm-bcm2708hardfp-linux-gnueabi/bin/ld: warning: libgthread-2.0.so.0, needed by ../gobject/.libs/libgobject-2.0.so, not found (try using -rpath or -rpath-link) /opt/tools/arm-bcm2708/arm-bcm2708hardfp-linux-gnueabi/bin/../lib/gcc/arm-bcm2708hardfp-linux-gnueabi/4.7.1/../../../../arm-bcm2708hardfp-linux-gnueabi/bin/ld: warning: […]

.override文件和.convert文件之间使用gschema重写首选项之间的关系是什么?

我发现.convert文件看起来类似于.override文件。 覆盖文件以.gschema.override后缀结尾。 我相信gsettings数据转换或任何其他实用程序创build.override文件。 我期待着能够解释完整转换过程的任何链接。

telepathy-glib发送XMPP消息

使用GNOME联机帐户API我收到一个TelepathyGLibAccount对象,然后使用了Connection ,但找不到任何文档/示例如何发送一个XMPP消息(或至less一个消息给其他客户端)。 有任何想法吗?

为什么不设置DBUS_SESSION_BUS_ADDRESS时不支持g_file_copy操作

以下代码正常用户会话正常工作: #include <gio/gio.h> int main() { const gchar *uri = "https://stackoverflow.com/questions/5758770/"; GFile *in; GFile *out; GError *error = NULL; gboolean ret; g_type_init(); in = g_file_new_for_uri(uri); out = g_file_new_for_path("/tmp/a"); ret = g_file_copy(in, out, G_FILE_COPY_OVERWRITE, NULL, NULL, NULL, &error); if (!ret) g_message("%s", error->message); return 0; } (从glib-network-connection-example取得 ) 但是,当“su – ”给另一个用户并执行相同的二进制文件时,我得到以下错误: ****信息:不支持的操作** strace dump下面: execve("./uri_copy", ["./uri_copy"], [/* […]

如何将一个ZeroMQ套接字集成到一个glib主循环中?

我想给一个glib程序添加一个ZeroMQ套接字。 pitty是,一个zmq套接字不是poll() ,它们给它们的实现,它重载了旧的poll() func。 我怎么能有效地将它整合到主循环? 我尝试使用他们的投票( zmq_poll() ),而不是默认的,但没有好办法给它的zmq套接字,除了使其成为一个global 。 定义一个新的GSource工作,但它可以获得高CPU使用率(通过设置timeout = 0 )或任意轮询超时(例如设置timeout = 100轮询至less每100毫秒),这是不是真的有效,因为有投票的可能性。