Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android NDK,C:使用功能时的致命信号6-int close(int fd);_Android_C_Android Ndk - Fatal编程技术网

Android NDK,C:使用功能时的致命信号6-int close(int fd);

Android NDK,C:使用功能时的致命信号6-int close(int fd);,android,c,android-ndk,Android,C,Android Ndk,任何变体,为什么在使用函数close(cxt->sysfs.dir\u fd)(在本例中为cxt->sysfs.dir\u fd=0)后,我会得到错误消息 04-08 13:34:57.496 4766-4782/pro.org A/OpenGLRenderer﹕ Failed to create context, error = EGL_BAD_ALLOC 04-08 13:34:57.496 4766-4782/pro.org A/libc﹕ Fatal signal 6 (SI

任何变体,为什么在使用函数close(cxt->sysfs.dir\u fd)(在本例中为cxt->sysfs.dir\u fd=0)后,我会得到错误消息

04-08 13:34:57.496    4766-4782/pro.org A/OpenGLRenderer﹕ Failed to create context, error = EGL_BAD_ALLOC
04-08 13:34:57.496    4766-4782/pro.org A/libc﹕ Fatal signal 6 (SIGABRT), code -6 in tid 4782 (RenderThread)
关闭(cxt->sysfs.dir\u fd)也=0,但应用程序已崩溃。。。 我能做些什么来防止错误,任何调试?往哪个方向看?
谢谢

您关闭了OpenGL的主要资源。除非关闭应用程序,否则不必关闭此资源


在注释中的所有示例中,仅在应用程序端调用close。您也应该这样做。

您关闭了OpenGL的主资源。除非关闭应用程序,否则不必关闭此资源


在注释中的所有示例中,仅在应用程序端调用close。你也应该这样做。

0是什么?关闭参数、返回值或两者?我不习惯用Android编写代码,但是如果你关闭了一些你自己没有打开的东西,比如0(这是你编程打开的第一个东西),坏事情就会发生……你能解释一下为什么你试图关闭cxt->sysfs.dir\u fd吗?看起来这很重要:OpenGL可能需要这个东西来渲染。0是什么?关闭参数、返回值或两者?我不习惯用Android编写代码,但是如果你关闭了一些你自己没有打开的东西,比如0(这是你编程打开的第一个东西),坏事情就会发生……你能解释一下为什么你试图关闭cxt->sysfs.dir\u fd吗?看起来这是一件很重要的事情:OpenGL可能需要这个东西来进行渲染。@Andreyua-不管你想做什么,你都做错了。不要试图关闭它,至少不在程序的中间。@安德里亚-在大多数情况下,不仅OpenGL,当你启动一个已经在你的API中打开了FD的应用程序时,不要关闭它们直到应用程序结束。如果以后您通过打开其他内容来创建自己的fd,请确保它们与之前的fd不同。@Andreyua-这里的代码不可能进行真正的“检查”。开发人员的工作是小心不要关闭重要资源。我建议你花更多的时间阅读你的API文档:这类事情应该被警告。@Andreyua-我不明白你为什么如此痴迷于这个fd。。。您不必更改它——如果OpenGL在以后尝试重新使用它,这甚至可能是危险的。唯一要做的就是不要关闭deinit函数,除非是在deinit函数中。@Andreyua-不管你想做什么,你都做错了。不要试图关闭它,至少不在程序的中间。@安德里亚-在大多数情况下,不仅OpenGL,当你启动一个已经在你的API中打开了FD的应用程序时,不要关闭它们直到应用程序结束。如果以后您通过打开其他内容来创建自己的fd,请确保它们与之前的fd不同。@Andreyua-这里的代码不可能进行真正的“检查”。开发人员的工作是小心不要关闭重要资源。我建议你花更多的时间阅读你的API文档:这类事情应该被警告。@Andreyua-我不明白你为什么如此痴迷于这个fd。。。您不必更改它——如果OpenGL在以后尝试重新使用它,这甚至可能是危险的。唯一要做的就是不要关闭,除非在Denit函数中关闭。