Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.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
如何在Xcode中使用-r选项调用程序?_C_Xcode_Random - Fatal编程技术网

如何在Xcode中使用-r选项调用程序?

如何在Xcode中使用-r选项调用程序?,c,xcode,random,C,Xcode,Random,在我的C程序的这个项目中,我被要求用-r调用它,请参见下文,但我不确定如何在Xcode中这样做。这是在哪里做的 “…因为程序使用固定的种子-如果每次需要不同的输出,请使用-r调用它 我假设要求使用-r作为命令行参数。我是对的吗?这是我的假设 这就是我所做的 产品>方案>编辑方案 步骤1-信息选项卡 选择启动时传递的参数 对于可执行文件,请导航到终端应用程序 取消选中调试可执行文件 步骤2-参数选项卡 将以下内容添加到启动时传递的参数字段中: ${BUILT_PRODUCTS_DIR}/${FUL

在我的C程序的这个项目中,我被要求用-r调用它,请参见下文,但我不确定如何在Xcode中这样做。这是在哪里做的

“…因为程序使用固定的种子-如果每次需要不同的输出,请使用-r调用它

我假设要求使用-r作为命令行参数。我是对的吗?这是我的假设

这就是我所做的

产品>方案>编辑方案

步骤1-信息选项卡

选择启动时传递的参数 对于可执行文件,请导航到终端应用程序 取消选中调试可执行文件 步骤2-参数选项卡

将以下内容添加到启动时传递的参数字段中:

${BUILT_PRODUCTS_DIR}/${FULL_PRODUCT_NAME} -->
${BUILT_PRODUCTS_DIR}/${CoinToss1}

-r
但上述做法并没有带来任何影响

r选项没有任何效果,因为它仍然使用相同的种子并为抛硬币产生相同的输出

项目指南如下:

就像刚才评论中提到的@EricPostpischil一样,添加-r应该可以:

编辑方案 在左边选择“跑步” 使用“参数”选项卡 加载项“启动时传递的参数”-r 应该是这样的:

作为测试,您可以使用一个简单的main:

#include <stdio.h>

int main(int argc, const char * argv[]) {
    if(argc == 2) {
        printf("%s\n", argv[1]);
    }
    return 0;
}

在这种情况下,这将输出-r。

可能需要修改程序,使main的签名为int main argc、char**argv或等效值,然后需要检查-r参数是否已传递给程序,如果是,则需要做一些不同的操作以确保随机数的序列ted与srand?不同。因为你没有显示你的程序代码,很难知道你是否在正确的轨道上。@JonathanLeffler:这是已经给他们的源代码,主要声明为int maiint argc,char**argv。你为什么要添加“${builded_PRODUCTS_DIR}/${FULL_PRODUCTS_NAME}->”,“${builded_PRODUCTS_DIR}/${cointos1}”,一个空字符串,并将“-r”添加到参数中,而不是仅添加“-r”?当我仅添加“-r”时,代码在不同的运行中运行并显示不同的数据。@EricPostFischil-SO上的人不必去看非现场说明,就可以知道他们要使用的是什么。@JonathanLeffler:我可以从问题中的文本确定OP已经获得了可用的源代码:“…因为程序使用了一个固定的种子…”仅使用-r选项就可以了。我误以为我也需要使用Terminal,但这在Xcode内部是正确的。它的种子很好。谢谢。