安装使用: https://www.cnblogs.com/pcat/p/5520317.html
glib目录: https://www.jianshu.com/p/6404b4c7e71d
glib中hash table[https://blog.csdn.net/jiao_fuyou/article/details/24650025]
glib查找网站https://developer.gnome.org/search?q=gst_structure_foreach
字符串: https://www.cnblogs.com/tears-of-ramos/p/3929175.html
判断是否使用g_object_ref: https://kryptobank.ai/node_modules/sharp/vendor/include/glib-2.0/gio/gio-autocleanups.h
文件处理: https://openhome.cc/Gossip/GTKGossip/GIOChannelFile.html
自定义事件源(键盘输入)https://hev.cc/848.html:
g_lib source: idle source的理解: GMainLoop怎样根据GSource的优先级进行调度?以idle source为例,如果同时有一个GTimeoutSource和idle source,因为idle source的优先级更低,所有GMainLoop就不会把idle source添加到poll轮询的监控集合中,也就是说,直到GTimeoutSource从GMainLoop中移除,idle source的callback函数,才有机会被调用。