【问题标题】:Problem with system() callsystem() 调用的问题
【发布时间】:2010-11-18 10:10:34
【问题描述】:

我在程序中使用 system() 调用,即在 c 库中。对于第 9 次调用,它在第 10 次调用后返回“0”(零)。我不知道这是什么意思。请任何人帮助我。以下是代码行

int returnValue= system("/system/bin/cat /dev/graphics/fb0 > /tmpdata/Screenshot/screenshot.bin");

【问题讨论】:

    标签: android system


    【解决方案1】:

    根据this man page处理通用的unixcat命令,错误代码>0仅仅意味着发生了错误。

    The following exit values shall be returned:
    
     0
        All input files were output successfully.
    >0
        An error occurred.
    

    您的system() 调用正在尝试连接两个文件,因此可能存在空间问题或源文件不存在。

    您可能还希望查看最近的一些 source code for Android cat (cat.c),它提供了一些在 cat 中触发错误的指示。

    【讨论】:

    • 系统调用次数受限?因为我每次都会在第 10 个电话被打破。
    • @Kantesh 否 - 您可以随意调用 system(),调用它的效果(新数据的创建)会造成限制
    • 我解决了每次我完成系统调用时重新启动活动的问题。我认为有一个会话或类似的东西,当重新启动活动时,进程会重新启动并重置。
    • @Kantesh 我有点担心重新启动 Activity 只是为了清除 system() 调用。如果你有时间,你应该进一步调查,否则你会巧合地编码。但是,如果您对解决方法感到满意,那么祝您的项目好运。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多