Я использую MPI для создания консольного приложения C++. Моя проблема заключается в том, что у меня есть max_streak_length var - это жесткий код. Мне нужно передать его из командной строки. моя командная строка mpiexec -n 3 main.exe 6
где 6 - моя max_streak_length.может кто-нибудь мне помочь?
int main(int argc, char* argv[])
{
//init size of max win streak
int max_streak_length = 6;
//init MPI
if(MPI_Init(&argc,&argv) == MPI_SUCCESS)
{
//init number of process and rank
int numProc , rank;
MPI_Comm_size(MPI_COMM_WORLD,&numProc);
MPI_Comm_rank(MPI_COMM_WORLD,&rank);
//call the process master
if(rank == 0)
procMaster(numProc,max_streak_length);
//call the process slaves
else
procSlave(numProc,rank,max_streak_length);
MPI_Finalize();
}
//playGame(15);
return 0;
}
Простой ответ
int max_streak_length = atoi(argv[1]);
Обратите внимание, что с чем-либо, переданным из командной строки, вам действительно нужно добавить некоторую проверку ошибок, вы должны убедиться, что аргумент на самом деле существует (т.е. Этот argc> 1) и что введенное значение действительно является целым числом, и что это значение находится в диапазон, который вы ожидаете и т.д. и т.д.