gpt4 book ai didi

安卓NDK : Infinite Loop Not Being Called Infinitely

转载 作者:行者123 更新时间:2023-11-30 19:41:22 28 4
gpt4 key购买 nike

我正在使用 NDK 为 Android 编写一个实用程序。

在我的实用程序中,我 fork 了一个进程,并在该进程中运行以下代码:

//Screenshot thread
int i = 0;
for (;;) {
char filename[255];
snprintf(filename, sizeof(filename),
"/data/local/screenshots/screen%d.png", i);
execlp("screencap", "screencap", "-p", filename, NULL);
i++;
sleep(500);
}

我发现屏幕截图是第一次创建的,但后续屏幕截图并未拍摄。当我停止程序时,我发现有一个 screen0.png 文件,但没有 screen1.png 或任何后续文件。我已经阅读了文档,看起来 Android sleep函数接受一个毫秒参数。

有什么想法吗?

最佳答案

来自execve(2)手册页

RETURN VALUE

       The exec() functions return only if an error has occurred. The return value is -1, and errno is set to indicate the error.

因此,循环在 exec() 调用处被阻塞,并保持在那里,除非发生错误。

关于安卓NDK : Infinite Loop Not Being Called Infinitely,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33621721/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com