【问题标题】:gtk_file_chooser_get_filename, result not freed, memory leak?gtk_file_chooser_get_filename,结果未释放,内存泄漏?
【发布时间】:2014-03-02 10:19:43
【问题描述】:

我的代码:

char* fileName;    
fileName=g_filename_from_utf8(gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog)),-1,NULL,NULL,NULL);

gtk_file_chooser_get_filename() 返回的字符串不能被引用,所以不能被释放。这是内存泄漏吗?我应该将它分配给一个标识符然后 free() 它而不是直接将它传递给 g_filename_from_utf8() 吗?

【问题讨论】:

    标签: c memory-leaks gtk filechooser


    【解决方案1】:

    是的,这将是内存泄漏。如here 所述,您必须使用 g_free() 释放它

    您还必须检查NULL,因为gtk_file_chooser_get_filename 也可能在出错时返回NULL

    【讨论】:

      猜你喜欢
      • 2012-06-08
      • 1970-01-01
      • 2020-07-22
      • 2011-01-27
      • 2013-10-28
      • 1970-01-01
      • 2014-08-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多