我正在使用GTK的一個小程序,我想知道如果無法創建一個小部件會發生什麼。我還沒有找到任何有關這方面的文件。如果GTK無法創建新對象,會發生什麼情況?
比方說,我分配一個菜單
menu = gtk_menu_new();
,如果它不能被分配會發生什麼?系統內存不足,所以我認爲它可能會失敗。如果發生錯誤,我該如何處理這個錯誤?
我正在使用GTK的一個小程序,我想知道如果無法創建一個小部件會發生什麼。我還沒有找到任何有關這方面的文件。如果GTK無法創建新對象,會發生什麼情況?
比方說,我分配一個菜單
menu = gtk_menu_new();
,如果它不能被分配會發生什麼?系統內存不足,所以我認爲它可能會失敗。如果發生錯誤,我該如何處理這個錯誤?
也許:
如果任何呼叫來分配存儲器失敗時,應用程序被終止。 這也意味着不需要檢查呼叫是否成功。
來自:https://developer.gnome.org/glib/stable/glib-Memory-Allocation.html
if (menu){ //created }
else:{}
{
//"cant"
}
各項功能將評估和sucess返回1個或物體.... ##
如果無法評估功能。然後值分配給變量將假
和分配問題,但有可能會像屬性附加傷害另一個錯誤的問題。 – aovbros
還有'g_try_malloc'在失敗時返回'NULL',所以你不能確定會發生什麼,除非你知道哪一個用於widget的實現。此外:[最新的鏈接到當前穩定的參考手冊](https://developer.gnome.org/glib/2.38/glib-Memory-Allocation.html),而不是一個10歲的人。 – drahnr
我知道沒有使用g_try_malloc創建的小部件。 g_try_malloc在請求大量內存時使用,並且您認爲它可能會失敗。這不是真正的小部件用例。 – liberforce