GTK不用释放的?
刚开始用 GTK, 抄了几段代码, 也随便改了下, 发现用了 很多 xxx_new ,
但是 只在 window 结束时有个 gtk_main_quit(), 那么我那些 new出来的东东 是否会有问题? 这样做是规范的吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
刚开始用 GTK, 抄了几段代码, 也随便改了下, 发现用了 很多 xxx_new ,
但是 只在 window 结束时有个 gtk_main_quit(), 那么我那些 new出来的东东 是否会有问题? 这样做是规范的吗?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(9)
wxWidgets 好像也是这样的,自带的例子都是只有new
g_free()
g_object_unref 不要随便调,看清楚文档吧
GTK+ 基于GObject,对象一般是通过 g_object_unref 来释放的
回收的时候直接free对象指针吗?
我写程序的时候一直都比较注意内存,倒是没有写过常驻内存的程序!
有文档说gtk_main_quit负责回收了?????
谢谢各位。
gtk_main_quit()负责回收
你用xx_new生成的东西都在用户空间里面,会在进程结束的时候被系统回收掉。
所以退出的时候可以直接调用gtk_main_quit()。
你如果想写的规范一些,可以自己写一下释放函数,手动释放一下这些东西,对于以后
写一些常驻内存的程序会有帮助的。
规范.. 有些命令行程序.. 运行下就退出的 也是只malloc不free :wink: