GLib2 是一个开源且可免费下载的低级核心库软件,它构成了GTK + GUI工具包框架以及GNOME图形桌面环境的基础。
该软件是从偏移量设计的,为C编程语言提供数据结构处理,可移植性包装器,运行时功能的强大接口,如事件循环,线程,动态加载,以及可靠的对象系统。
作为独立的库软件分发
GLib2作为独立的库软件发布,但它是GTK + Toolkit项目的重要组成部分。两者都被许多基于GNOME的应用程序和整个GNOME桌面环境使用。
顾名思义,GLib2是下一代GLib库,用于现代应用程序,它是最新GNOME发行版的一部分,使用GTK + 2甚至更新的GTK + 3框架。最新版本的GLib2始终与最新版本的GTK +和GNOME完全兼容。
GLib2入门
GLib2库通常与GNOME桌面环境或需要它的各种其他GNOME应用程序一起自动安装。它通常作为源包分发,可以轻松安装在32或64位计算机平台上。
要使用源包安装GLib2,请从Softoware或项目的官方网站下载最新版本(请参阅本文末尾的主页链接),将其保存在计算机上的某个位置,然后将其解压缩。
打开终端模拟器应用程序,导航到您已解压缩存档文件的位置(例如cd /home/softoware/glib-2.43.3),运行‘ ./ configure && make’命令配置和编译库,然后是‘ sudo make install’命令在系统范围内安装它并使其可用于所有需要它的应用程序。
此版本中的新功能:
- 要求pcre 8.31
- 需要介子0.47.0
- 错误修复:
- 742456添加g_steal_pointer()便利功能以标记所有权......
- 795569 MinGW CI:修复测试
- 796341 gmem.h:在g_steal_pointer()宏中使用typeof()
- #1013支持每会话覆盖
- #1360如果指定了选项但没有缺口 ,则glib-mkenums会中断
- #1175为在GLib中构建的各种GSources和GTasks添加名称和标签
- #903 g_main_context_wait()在API中不推荐使用,但会发出g_critical()......
- #786修复libgio测试中的内存泄漏
- #927 gio / gresource.c:do_lookup检查终止" /"
- #976 g_assert()和g_assert _ *()... 之间的文档区别
- #1447 glib 2.57.1:test_month_names:断言失败......
- 翻译更新:
- 弗留利
- 德国
- 罗
版本2.57.1中的新功能:
- 错误修复:
- 793400 g_application_id_is_valid()不够严格
- 793578 gdatetime测试取决于月份名称的日语翻译
- 793645 test_month_names:el_GR,hr_HR,ru_RU所需的更新翻译
- 794194 gobject_gdb.py:'address'是gdb.Value的属性而不是函数
- 794473删除gio.xml中的重复选项
- 794506 glib-mkenums:如果使用typedef枚举,则进入无限循环SomeIdentifier
- 794528修复由GPollFileMonitor中的use-after-free引起的段错误
- 794606当res_nquery不可用时,glib-2.56.0无法编译
- 794686日期(工作日除外)以英文显示
- 翻译更新:
- 斯洛伐克语
- 斯洛文尼亚语
- 西班牙语
版本中的新功能:
- 修复了错误:
- 780296在gio open中修复比赛
- 翻译更新:
- 加泰罗尼亚语(瓦伦西亚语)
- 尼泊尔
- 斯洛伐克语
- 斯洛文尼亚语
版本2.54.2中的新功能:
- 修复了错误:
- 780296在gio open中修复比赛
- 翻译更新:
- 加泰罗尼亚语(瓦伦西亚语)
- 尼泊尔
- 斯洛伐克语
- 斯洛文尼亚语
新功能:
- 修复了错误:
- 780861 GnomeWallClock崩溃
- 786983请输出gio-querymodules deterministic
- 787109 Valtrind在btrfs文件副本中的ioctl()中出现误报
- 787123 glib:Slighty更新GIOChannel文档
- 787146 GMainLoop:LOCK_CONTEXT / UNLOCK_CONTEXT参数对的匹配
- 翻译更新:
- 巴斯克
- 加泰罗尼亚语
- 罗
- 瑞典
版本2.53.3中的新功能:
- 错误修复:
- 658446为错误的密码通知字符串添加翻译注释
- 661926改进GLib中的默认日志记录设置
- 674885 GObject中的类型初始化死锁
- 775593 GIO无法在FreeBSD和NetBSD上编写符号链接
- 776169各种gio-tool修复
- 776333修复g_file_copy_async() 上的注释
- 776504从LGPLv2 +升级许可证到LGPLv2.1 +
- 777307 gdbus信号回调和g_bus_unwatch_name之间的竞争条件......
- 778422 gsubprocesslauncher:澄清set_environ() 的行为
- 781301错误调用NtNotifyChangeMultipleKeys导致堆栈指针损坏
- 782336添加GResource XML格式的其他文档
- 782996 build:使用AM_TESTS_ENVIRONMENT而不是TESTS_ENVIRONMENT
- 783061 GApplication:删除一些未使用的成员
- 783130使dbus激活沙箱感知
- 783193适应OpenURI api change
- 783201 gdbus-codegen:将--output-directory应用于生成的文档
- 783340 win32:端口单调时间使用QPC
- 783350长度参数可以为NULL g_data_input_stream_read_line
- 783392 g_dbus_interface_info_generate_xml错误(out)注释
- 783593 GGtkNotificationBackend应该使用/ org / freedesktop / DBus来调用Ge ...
- 翻译更新:
- 世界语
- 德国
- 印度尼西亚
- 哈
- 西班牙语
版本2.53.2中的新功能:
- 添加了一些新的数字解析功能:
- g_ascii_string_to_signed
- g_ascii_string_to_unsigned
- 这些错误处理比现有错误处理更好。
- glib-mkenums现在支持/ *<私人> * /和/ *<公开> * /
- 除了XDG_DATA_DIRS之外,GSettings现在考虑XDG_DATA_HOME。
- 错误修复:
- 674885 GObject中的类型初始化死锁
- 698064添加g_ptr_array_contains()
- 732000 gdatetime:删除不必要的NULL指针检查
- 734946在OSX上实施GContentType
- 741335使用XDG_DATA_DIRS与XDG基本目录规范可能存在差异
- 748263 g_dbus_connection_call_internal()中的释放后使用
- 776876 gmodule - 各种Android错误修复
- 777030构建错误,其中minor()和major()无法在gio / gdbusmessage.c中解析
- 780300 gio / gosxappinfo.c使用已弃用的LSFindApplicationForInfo
- 780309 gio / tests / appinfo build失败:在OS X上跳过gdesktopappinfo.c
- 781755在生成的封送器代码中避免使用编译器警告
- 781826门户网站支持:阅读/.flatpak-info
- 781830修复GVariant文档中的一些拼写错误和错误
- 781847 send_message_with_reply_cleanup()下的释放后使用:gdbusconnection.c:1792
- 781867各种gvfsd-想查看/ boot / efi,导致不必要/不合适的自动...
- 782068 doc:琐碎错字修正
- 782075 gtimer:处理g_time_val_to_iso8601中的gmtime()失败()
- 782089 gdatetime:修复从timestamps构建时的溢出检查
- 782162支持glib-mkenums中的公共/私人三元组
- 782237 make check error
- 782311 inode /目录被视为application / octet-stream 的子类
- 782628 libmount构建依赖项检查不需要正确的版本?
- 翻译更新:
- 匈牙利
- 印度尼西亚
- 西班牙语
版本2.52.0中的新功能:
- 错误修复:
- 779799 gdatetime测试失败,使用tzdata 2017a
- 780032向两个函数添加缺少的属性
- 780144 gio / fam:删除剩余的调试打印
- 翻译更新:
- 法
- 弗留利
- 拉脱维亚语
版本2.51.2中的新功能:
- 错误修复:
- 775309 gdbusauth崩溃
- 775468改进日志写入支持Windows上的颜色方法
- 775517密码输入在终端 中回显
- 775765 FDO通知提取后端向服务器发送错误的ID
- 翻译更新:
- 简体中文
版本2.51.1中的新功能:
- glib-compile-resources成长了一个--generate-phony-targets flag
- GLib现在为GLib和GIO安装valgrind抑制文件
- 错误修复:
- 666114应具有在valgrind下运行其测试的基础设施
- 729730 GDBusMessage:如果启用了DEBUG_SERIALIZER,则修复了段错误
- 730932静态断言关于枚举的合理假设是正确的
- 735731 gobject:在NULL上检查宏的GType的文档行为
- 736810 gdbus:修复g_dbus_message_print()中的泄漏
- 762283 GSocket - 如果多个线程在cond上等待,则修复Win32上的竞争条件......
- 767609测试套件问题
- 767952 g_dbus_method_invocation_return_ *,g_dbus_method_invocation_take_error:他们......
- 769672已成功创建测试用例642026的断言线程
- 769745 gtask:为公共职能添加警卫
- 770175向mkenums和genmarshal添加命令行参数以将输出写入文件
- 770646 glib:soname的命名空间全局tapset变量
- 772160添加g_unix_mount_for()支持
- 772989图腾允许可能导致无法恢复的段错误的无效网址
- 773823 gio:默认情况下将Bump复制缓冲区大小调整为256k
- 774086修复g_main_context_check声明
- 774368资源扫描程序的依赖项文件输出中断Ninja
- 774421两个小补丁
- 774520即使未请求,GSocket也会分配和处理控制消息
- 775309 gdbusauth崩溃
- 775468改进日志写入支持Windows上的颜色方法
- 775510使用-fsanitize = undefined进行测试报告各种未定义的行为
- 775517密码输入在终端 中回显
- 775621 gmessages:修复Android上的编译
- 775765 FDO通知提取后端向服务器发送错误的ID
- 775913 subprocesslauncher:verify_disposition() 中的潜在无限循环
- 776198 gvariant.c中g_variant_print()函数后的分散分号
- 776586许可标头清理
- 777077释放后使用内存
- 翻译更新:
- 巴西葡萄牙语
- 捷克
- 加利西亚语
- 德国
- 希伯来语
- 哈
- 立陶宛语
- 西班牙语
- 瑞典
版本2.51.0中的新功能:
- glib-genmarshal和glib-mkenums已经获得了 - 更好的构建系统集成的输出选项
- 新API:g_utf8_make_valid
- 错误修复:
- 591603 Make _g_utf8_make_valid public
- 610969很高兴g_utf8_make_valid为公共
- 767882 gparam.h中的位移溢出(-Wshift-overflow)警告
- 769135 g_test_add / g_test_run的外部控制
- 769630 gfile:G_FILE_MONITOR_WATCH_MOVES实际上是在2.46中引入的
- 772160添加g_unix_mount_for()支持
- 772221利用Unicode
- 773303 GApplication泄漏option_strings
- 翻译更新:
- 法
- 加利西亚语
- 德国
- 匈牙利
- 立陶宛语
- 挪威语bokmal
- 奥克
- 波兰语
- 斯洛伐克语
- 土耳其
版本2.50.0中的新功能:
- 修复了错误:
- 771438默认情况下在linux上打开libmount
- 修复g_log_variant 的注释
- 翻译更新:
- 英式英语
- 法
版本2.49.6中的新功能:
- gsettings命令行工具现在有一个describe命令
- 错误修复:
- 745754将gcc样式的依赖项输出添加到glib-compile-resources
- 769076修复警告:尝试覆盖封闭 - > va_marshal with new marshal
- 770372 gdbus-codegen:比较之前删除@since参数
- 翻译更新:
- 巴西葡萄牙语
- 捷克
- 德国
- 匈牙利
- 波兰语
- 葡萄牙语
- 西班牙语
版本2.49.4中的新功能:
- 更改刚刚引入的结构化日志记录API。必须重新排序g_log_structured()的参数,以便在标准保证var args的限制范围内启用实现。
- 错误修复:
- 744456结构化日志记录API
- 768936 gio doc build因为tarball中缺少gio.xml而失败
- 768963在g_log_structured() 中使用了不正确的va_list
- 768968 gio / tests / socket-listener自e4ee307起挂起
- 翻译更新:
- 西班牙语
版本2.49.2中的新功能:
- GMainContext和GTask获得了更多的systemtap探测器
- 错误修复:
- 673101资源编译器依赖关系生成不适用于gen ...
- 700756 GFile.new_for_path参数未命中(类型文件名)注释
- 730187 glocalfileoutputstream:修复错误路径中的FD泄漏
- 755439 gdbusproxy.c中的内存泄漏
- 759813为主要上下文和GTask 添加更多SystemTap / DTrace探测器
- 761810 gio:支持在路径'/' 使用GDBusObjectManagerServer
- 767172 docs:将GIO_USE_VFS移至“可以生产”节
- 767218从gsignal.h 中删除UTF-8省略号
- 767245添加文件名类型注释
- 767824在Windows 7上错误识别某些UTC时区
- 翻译更新:
- 奥克
版本2.47.4中的新功能:
- GApplication文档已在多个方面进行了改进。
- 错误修复:
- 749092 gdb漂白打印机在Python 3上出现类型错误...
- 757374宏:清理“内联”乱七八糟
- 758641 g_dbus_proxy_new_for_bus_sync()中的内存泄漏
- 759134为gnulib vasnprintf() 添加缺失的检查
- 759408不要使用未初始化的var
- 756475停止支持非POSIX getpwuid_r,getgrgid_r
- 757372应用:销毁关闭时的impl
- 728099 macros:为编译器检查添加G_GNUC_CHECK_VERSION()
- 757299 glib-compile-resources:不泄漏c_name
- 758553修复gettext使用
- 758823文件监视器:重新排序一些代码以避免段错误
- 756214 gsettings:请勿翻译“"”
- 710243添加GParamSpec对象引用管理注释
- 735696 xdgmime:更好地处理mmap()不可用的情况
- 752983 gapplication:在运行之前获取主要上下文
- 翻译更新:
- 瑞典
版本2.47.3中的新功能:
- 上一版本中的内联清理意外地从libglib-2.0.so中删除了三个符号。这不太可能导致任何问题,因为这些符号只是作为头文件中的内联导出的定义的备份符号,但ABI是ABI。此版本仅纠正了此问题。
版本2.45.6中的新功能:
- 修复测试失败和构建失败
版本2.45.3中的新功能:
- 提高g_signal_handler_disconnect对具有多个处理程序的信号的性能
- GDBus获得了一个新的呼叫标志以允许交互式授权
- GSettings:
- 新API:g_settings_schema_list_keys
- 不推荐使用:g_settings_list_keys
- OS X:
- 实施GNotification
- 将OS X要求提升至10.9
- 视窗:
- 添加注册表阅读API
- 使用注册表信息重新实现GAppInfo
- 错误修复:
- 666831支持在W32上打开URI
- 728489具有反向布尔状态的属性操作
- 730168 g_action_group_get_action_state_type返回错误的注释...
- 733325使用pcre3 8.35 进行了多次正则表达式测试失败
- 734888 GLib没有帮助函数来使用W32 Registry
- 737009信号处理程序查找无法缩放
- 738185关于“文件名编码”的误导性语言在g_env上的文档......
- 738504通过展开分支和表达式优化UTF-8解码
- 739122 glib没有处理-1从sysconf返回(“无限制”)(_SC_THREAD_S ...
- 739424在$ ...中添加,删除或修改文件时gnome-shell崩溃
- 739616 DBus;添加新的呼叫标志以允许交互式授权
- 740308添加g_settings_schema_list_keys()方法
- 740516 RFE:请提供g_log_set_handler的内省版本
- 741788文档GSettings构建系统集成
- 745013 GBinding not thread safe
- 747146在OSX上实施GNotification
- 747941尝试XDG_RUNTIME_DIR /总线,然后再回到X11自动启动(dbus ......
- 748727 Filechooser对话框在W32 上没有显示目录的图标
- 749693 GActionGroupExporter:请求时刷新队列
- 750203 GNetworkMonitorNetlink挂起用户名称空间
- 750322 gapplication:确保--help输出已翻译
- 750344 doc 中缺少GTlsInteractionClass
- 750369各种GBinding清理
- 750386 g_io_condition_get_type中的竞争条件
- 750399 Typo“equilalent”在glib文档中的glib-Error-Reporting.html ...
- 750573未记录GTlsDatabaseClass
- 750918 genmarshal:沉默寄存器存储类警告
- 751122 gsocket:避免_send_messages()中不必要的g_socket_cond_wait()
- 479730“g_key_file_set_comment”界面将'#'字符添加到......
- 翻译更新:
- 匈牙利
- 西班牙语
版本2.45.1中的新功能:
- GSettings模式编译器glib-compile-schemas已更改为拒绝具有重复或元素的模式xml。这些元素通常在使用xml:lang属性将转换合并到模式中时发生。这不是翻译模式的正确方法。而是将翻译保留在.mo文件中,并在元素上设置gettext-domain属性。
- 文件监控基础架构已经被重写,所有后端都有了重大改进。
- inotify后端报告延迟较少的事件(没有事件将延迟超过10毫秒),并且由于文件监控而导致的唤醒已显着减少。当出现新文件时,也会发送CHANGES_DONE事件。
- 轮询实现现在使用线程默认主要上下文。
- fam implmentation现在正在工作线程中运行。
- fen实现已被删除,因为它没有维护。
- GSettings模式编译器glib-compile-schemas更严格地拒绝使用xml:lang样式合并翻译的模式。应通过在xml中指定gettext域并将转换保留在gettext中来完成架构转换。为避免破坏已安装的模式,此更改仅在使用--strict选项时生效。
- 已删除GTask线程池的硬编码10线程限制,因为它很容易导致死锁。现在允许线程池动态增长,并随着时间的推移收缩。
- 已弃用GSimpleAsyncResult以支持GTask。
- GAppInfo用于查找mime类型的默认处理程序的算法已被调整为偏好处理特定子类型的应用程序,而不是普通超类型的默认处理程序。
- 错误修复:
- 627285 inotify file monitor hardwired delay
- 631597 append_escaped_text中的分段错误
- 661767合并/改进各种运行线程功能
- 687223聪明的GThreadPool管理
- 711547 win32:沉默一些构建警告
- 719966 glib:添加缺失(可空)和(可选)注释
- 726447可能是文本字符串中的错误
- 728663 W32:使用MinGW-w64构建时使用了错误的stat结构
- 728669 W32:GLocalFile无法测量大于2 ^ 32 ... 的文件大小
版本2.44.0中的新功能:
- 修复了错误:
- 730188 gsocket:使用g_socket_new_from_fd() 记录FD所有权
- 翻译已更新:
- 巴斯克语
- 巴西葡萄牙语
- 中文(台湾)
- 丹麦
- 加利西亚人
- 希伯来语
- 印度尼西亚
- 挪威语bokmA¥l
- 土耳其
版本2.43.4中的新功能:
- GType现在具有类型声明宏G_DECLARE_DERIVABLE_TYPE,G_DECLARE_FINAL_TYPE和G_DECLARE_INTERFACE,这大大减少了GObject类型和接口所需的样板。
- g_autoptr和g_auto是用于使用自动清理声明变量的宏。他们只与gcc和clang合作。
- GListModel是一个新界面,代表GObjects的动态列表。
- GListStore是基于GSequence的GListModel实现。
- 支持OS X上的线程名称
- g_simple_action_set_state_hint:设置GSimpleActions状态提示的新功能
- g_win32_check_windows_version:检查Windows版本的新功能
- g_settings_schema_list_children和g_settings_schema_key_get_name是完成GSettingsSchema API的新功能。
- 错误修复:
- 389585 G_DEFINE_TYPE hack for header files
- 729351添加GListModel
- 736914文档:各种修复和改进
- 741807在OS X和iOS上添加线程名称支持
- 741895 gwin32:添加简单API以检查我们是否至少在v ...
- 742456对象:添加g_steal_pointer()方便函数来标记自己...
- 743508 polkitd无法启动:gio / gcredentialsprivate.h的补丁
- 743517 GSettings API缺少一些内省函数
- 743521 GSimpleAction:添加g_simple_action_set_state_hint
- 743596 G_DECLARE_DERIVABLE_TYPE()应该允许额外的typedef ...
- 743640添加__attribute __((清理))支持
- 743827修复GListModel的构建(在Visual Studio上)
- 743927 GListStore:添加已排序的插入函数
- 743936 glib:在内部printf中长时间处理unsigned modifier
- 744012添加GMutexLocker
- 744190修复不使用内联普通C代码的编译器的构建
版本2.43.3中的新功能:
- 添加g_set_object()便利功能
- GNetworkMonitor:检查NM是否未运行且不崩溃
- 使用g_mkdir_with_parents 修复一些比赛
- 修复了MSVC中的一些警告
- 避免在G_OBJECT_WARN_INVALID_PSPEC中使用G_STRLOC以保存静态字符串
- 修复一些内容类型与哑剧问题
- 文档改进
- 错误修复:
- 719455 g_file_make_directory_with_parents()错误地抛出G_IO_ERROR_EXISTS
- 732439 GSocket:避免使用阻塞套接字的不必要的g_socket_wait_condition()
- 734946在OSX上实施GContentType
- 741589 gobject:添加g_set_object()方便函数来设置GObject指针
- 741653 gnetworkmonitornm:检查网络管理器是否正在运行
- 741654 [patch] gobject:不要在G_OBJECT_WARN_INVALID_PSPEC()宏中使用G_STRLOC
- 741707 Gsocket阻止尝试发送数据
- 741788文档GSettings构建系统集成
- 742548 configure.ac:远离autoconf的命名空间
- 742851避免在G_STMT_END 中发出MSVC警告
- 742972 ggettext:在i18n docs中包含setlocale()和朋友的示例
- 743014 gtestutils:添加使用测试夹具的示例
- 翻译已更新:
- 巴斯克
- 巴西葡萄牙语
- 西班牙语
评论没有发现