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文檔li>
- 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格式的其他文檔li>
- 782996 build:使用AM_TESTS_ENVIRONMENT而不是TESTS_ENVIRONMENT
- 783061 GApplication:刪除一些未使用的成員
- 783130使dbus激活沙箱感知
- 783193適應OpenURI api change
- 783201 gdbus-codegen:將--output-directory應用於生成的文檔li>
- 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:添加使用測試夾具的示例
- 翻譯已更新:
- 巴斯克
- 巴西葡萄牙語
- 西班牙語
評論沒有發現