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