2014-02-15 4 views
1

작은 프로그램에 GTK를 사용하고 있는데 위젯을 만들 수없는 경우 어떻게 될지 궁금합니다. 이에 관한 문서를 찾지 못했습니다. GTK가 새 객체를 생성하지 못하면 어떻게됩니까?

이의 내가 그것을 할당 할 수없는 경우 어떻게됩니까 메뉴

menu = gtk_menu_new(); 

를 할당하고있어 가정 해 봅시다? 시스템에 충분한 메모리가 없을 수 있으므로 실패 할 수 있습니다. 오류가 발생하면 어떻게 처리합니까?

답변

3

것이다

모든 통화 메모리 할당이 실패하는 경우는, 애플리케이션은 종료된다. 이것은 또한 호출이 성공했는지 확인할 필요가 없음을 의미합니다. 에서

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

+0

실패시'NULL'을 반환하는'g_try_malloc'도 있습니다. 따라서 어느 것이 위젯의 ​​구현에 사용되는지 알지 못하면 어떤 일이 발생하는지 확실히 말할 수 없습니다. 또한 : [현행 안정 참조 설명서의 최신 링크] (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" 
    } 

모든 기능을 평가하고 .... 성공에 1 개 또는 객체를 반환 ##이 함수를 평가하지 않을 경우

. 다음 변수에 할당 된 값은 오류가 아마도

+0

및 할당은 문제가 있지만 atribute 오류와 같은 다른 문제가있을 수 있습니다. – aovbros

관련 문제