2014-02-15 27 views
1

我正在使用GTK的一個小程序,我想知道如果無法創建一個小部件會發生什麼。我還沒有找到任何有關這方面的文件。如果GTK無法創建新對象,會發生什麼情況?

比方說,我分配一個菜單

menu = gtk_menu_new(); 

,如果它不能被分配會發生什麼?系統內存不足,所以我認爲它可能會失敗。如果發生錯誤,我該如何處理這個錯誤?

回答

3

也許:

如果任何呼叫來分配存儲器失敗時,應用程序被終止。 這也意味着不需要檢查呼叫是否成功。

來自:https://developer.gnome.org/glib/stable/glib-Memory-Allocation.html

+0

還有'g_try_malloc'在失敗時返回'NULL',所以你不能確定會發生什麼,除非你知道哪一個用於widget的實現。此外:[最新的鏈接到當前穩定的參考手冊](https://developer.gnome.org/glib/2.38/glib-Memory-Allocation.html),而不是一個10歲的人。 – drahnr

+0

我知道沒有使用g_try_malloc創建的小部件。 g_try_malloc在請求大量內存時使用,並且您認爲它可能會失敗。這不是真正的小部件用例。 – liberforce

-1
if (menu){ //created } 
else:{} 
{ 
    //"cant" 
    } 

各項功能將評估和sucess返回1個或物體.... ##

如果無法評估功能。然後值分配給變量將假

+0

和分配問題,但有可能會像屬性附加傷害另一個錯誤的問題。 – aovbros

相關問題