设置Codeblock的mpi启动参数
Project->set program arguments设置系统参数
默认情况下就算不设置参数也有一个系统参数,现在来测试一下
#include <iostream>
#include<stdio.h>
#include<mpi.h>
using namespace std;
int main(int argc,char* argv[])
{
int rank,size;
MPI_Init(&argc,&argv);
MPI_Comm_rank(MPI_COMM_WORLD,&rank);
MPI_Comm_size(MPI_COMM_WORLD,&size);
printf("Hello World, I am %d of %d\n",rank,size);
int i;
cout<<argc<<"___\n"<<endl;
cout<<argv[0]<<"___\n"<<endl;
MPI_Finalize();
return 0;
}
这个默认的argv[0]就是这个项目.exe文件的路径.
设置参数后看看效果
int main(int argc,char* argv[])
{
int rank,size;
MPI_Init(&argc,&argv);
MPI_Comm_rank(MPI_COMM_WORLD,&rank);
MPI_Comm_size(MPI_COMM_WORLD,&size);
printf("Hello World, I am %d of %d\n",rank,size);
int i;
cout<<argc<<"___\n"<<endl;
for(i=0;i<argc;i++)
cout<<i<<":"<<argv[i]<<"___\n"<<endl;
MPI_Finalize();
return 0;
}
结果如下
总结,CODEBLOCK会自动帮我们统计传入的参数的个数,我们只需要用空格隔开就行,统计好的值+1给了argc,然后依次把参数赋给argv[].