glib

    2热度

    2回答

    我在C中有一些代码,我想用int作为键和gnome散列表中的值。但如果我写: GHashTable* table = g_hash_table_new(g_direct_hash, g_direct_equal); int tmp = 0; int value = 255; g_hash_table_insert(table, (gpointer)tmp, (gpointer) 255);

    0热度

    1回答

    我想写一个GSource的子类来处理串口事件。我发现这样做的方式是使用POSIX终端接口,该工作使用文件描述符。出于任何原因,GLib的主事件循环有一个特殊的方法来处理这个变量。 作为official documentation says,有两个GSource抽象函数用于准备分派,一个在fds池之前运行,另一个在一个之后运行。这表明,让GLib处理文件描述符可能非常重要,而不是在我自己的准备功能中

    1热度

    1回答

    我已经搜索堆栈溢出找到与我的问题相关的答案。但我没有找到任何答案。 我有一个主线程(我的main()函数)启动一个线程。新线程运行GMainLoop。在我的主要功能中,我通过在某些文件描述符上调用g_io_watch来不断添加源代码。但是如果事件被派发,我已经获取了垃圾数据。 下面是代码的一小部分,我将尝试: GMainLoop *loop; gpointer event_loop_threa

    1热度

    2回答

    我已经尝试过: GError *pError = NULL; string uri = g_filename_to_uri(file.c_str(), NULL, &pError); if (!g_app_info_launch_default_for_uri(uri.c_str(), NULL, &pError)) { cout << "Failed to ope

    0热度

    1回答

    我试图返回一个G_Variant指针到以uint16作为键并将其映射到字节数组(即:“a {qay}”)的字典。 这里是我的尝试: #define KEY 0xDEAD #define BYTE1 0xBE #define BYTE2 0xEF GVariantBuilder *arrBuilder, *builder; GVariant *arr;

    0热度

    1回答

    我正在开发运行最新Raspbian的Raspberry PI 3的应用程序。该应用程序(从终端窗口)当前打开一个Indy TCP服务器,然后开始ping一个FTP主机(每个ping在其自己的线程中启动,下一个ping将在当前完成后的15秒后才启动),一直在屏幕上显示图像,并每分钟更新当前时间的标签。一切都很好,然后40分钟后,应用程序看起来已经冻结,没有更新;系统仍在运行而不是更新。我可以点击应用

    1热度

    2回答

    我有一个Gtk.Box的子类,它包含一个GLib.Timer,它在给定时间间隔后触发通知。我在这个类中调用了Gtk.Box上的this.destroy()方法。计时器继续运行,即使在其父实例被销毁后也会触发通知。已经销毁的这个类的所有实例都表现出这种行为并继续使用CPU和内存,直到进程终止。 我该如何解决这个问题?如何有效杀死实例,以及如何手动释放内存而不是依赖vala的垃圾回收。 编辑:这里是一

    0热度

    1回答

    我正在写一个使用Gtk.Menu的Vala的Gtk程序。 当鼠标右键单击时,我需要使用Gtk.Menu.popup_at_pointer()来显示菜单。 当编译(带--pkg gtk+-3.0),GCC给我一个错误: warning: implicit declaration of function ‘gtk_menu_popup_at_pointer’ [-Wimplicit-function-

    -2热度

    1回答

    我试图在Windows上编译我的GTKmm 3应用程序。把那油嘴:: ustring没有构造 Glib:: ustring:: ustring(std::string*) 虽然代码获取Ubuntu的成功编译编译时错误。 样品的编号: #include <gtkmm.h> #include <string> int main() { std::string a("aa");

    1热度

    1回答

    我正在开发一个C应用程序,并使用Eclipse CDT IDE,我发现它很棒。该项目采用油嘴,GTK和GStreamer的,所以每当我使用他们的一些功能在一个文件,我需要包括: #include <glib.h> #include <gtk/gtk.h> #include <gst/gst.h> 代码编译没有任何错误,因为PATH变量来搜索那些标题是在CMakeLists.txt中正确设置