win7&win8.1 x64位系统下在VS2010下配置MPICH2&测试&解决scanf不能输入
1. Mpich下载地址http://www.mpich.org/downloads/,下载mpich2-1.4.1p1-win-x86-64(32位系统请下载mpich2-1.4.1p1-win-ia32)并安装!
2. 最好切换到管理员(administrator)用户安装mpich2,可以省掉很多麻烦!此教程安装目录为D:\Program Files\MPICH2
3. 安装完成后,打开“开始-所有程序-MPICH-wmpiregister.exe” ,在Account中输入本机用户名,在password中输入本机密码,(win8.1系统绑定outlook邮箱的账号,使用装机时用户名+outlook邮箱密码登陆),点击Register按钮注册并按OK按钮退出。

4. 打开进程管理器,若里面没有"smpd.exe"进程在运行的话,就要以管理员身份打开cmd,移动到安装目录(C:\Program Files\MPICH2\bin),运行命令:smpd -install -phrase beHappy
注意:此处必须以管理员身份运行,否则就会出现 OpenSCManager failed
5. 进程管理器里面有"smpd.exe"进程运行的话就可以开始测试mpich2-1.4自带例子!
6. mpich2-1.4安装目录下有examples目录,安装完成后可以打开“开始-所有程序-MPICH-wmpiexec.exe”,在Application右边浏览找到你examples目录下的cpi.exe, 设置Number of processes(即进程数目,用来模拟并行计算的CPU数目)。再按Execute按钮运行。若提示 Credentials for yyy rejected connecting to XXX则表明账户用户名或密码不匹配。注册的用户名和密码必须要是能登陆电脑的用户名和密码。若出现如下图的提示,则表明安装成功。

若程序涉及scanf输入字符,请先勾选run in an separate window前面的复选框,再点击Execute,在命令行窗口中执行!如下图:

7. 新建一个VC++空项目,在源文件上点击右键,添加->新建项->c++文件!在刚新建的文件里写如下内容并保存:
#include "mpi.h"
#include <stdio.h>
#include <math.h>
void main(int argc,char *argv[])
{
//整型变量myid 和numprocs分别用来记录某一个并行执行进程的标识和所有参加计算的进程的个数
int myid, numprocs;
//namelen是实际得到的机器名字的长度
int namelen;
//机器名放在变量processor_name
char processor_name[MPI_MAX_PROCESSOR_NAME];
//初始化
MPI_Init(&argc,&argv);
//得到当前正在运行的进程的标识号, 放在myid中
MPI_Comm_rank(MPI_COMM_WORLD,&myid);
//得到所有参加运算的进程的个数 放在numprocs中
MPI_Comm_size(MPI_COMM_WORLD,&numprocs);
MPI_Get_processor_name(processor_name,&namelen);
fprintf(stderr," Hello World! Process %d of %d on %s\n",myid, numprocs, processor_name);
//结束
MPI_Finalize();
}
8. 在项目名称上右键选择【属性】,即进入【属性页】窗口。
9. 展开左边Configuration Properties【配置属性】,选中其中的VC++ Directories【VC++ 目录】,在右边Include Directories【包含目录】加入“D:\Program Files\MPICH2\include;”(此处为mpich2安装目录)
10. 展开左边Configuration Properties【配置属性】,选中其中的VC++ Directories【VC++ 目录】,在右边Library Directories【库目录】加入“D:\Program Files\MPICH2\lib;” (此处为mpich2安装目录)


11. 同样展开C/C++,选中Code Generation【代码生成】,把右边的Runtime Library【运行库】更改为”Multi-threaded Debug (/MTd)”【多线程调试(/MTd)】(此外有下拉菜单可选到它)。

12. 展开左边的Linker【链接器】,选中Input【输入】,在右边Additional Dependencies【附加依赖项】中加入“mpi.lib;”。

13. 如果用32位的同学,这时候就能成功编译了!!若使用64位的同学则还需要在选择Debug环境的时候要选择x64而不是win32。设置方法也很简单:点击你原来win32的下拉菜单,有个“配置管理器”,点击会有个对话框,击平台的那个下拉菜单,新建,选择x64并确定!

配置完成后生成解决方案开始测试新建的项目!
14. 如何运行MPI程序?
打开“开始-所有程序-MPICH-wmpiexec.exe”,在Application右边浏览找到你在VS2010中生成的exe文件(64位操作系统必须选择x64-debug下的exe文件),设置Number of processes(即进程数目,用来模拟并行计算的CPU数目)。再按Execute按钮运行。


win7&win8.1 x64位系统下在VS2010下配置MPICH2&测试&解决scanf不能输入的更多相关文章
- 联想笔记本V470安装Win8.1 X64位系统,关机黑屏、电源灯亮
以前的WIN7 X86系统用了很长时间了,软件业装了很多,现在使用的时候就有点卡了,最近决定重装个系统,后台发现开发的有一个东西要求WIN8 X64位的,就下载了一个准备直接安装了,也从此开始了整整2 ...
- 在win8.1 64位系统+cocos2d-x2.2.3下搭建android交叉编译环境
搭建前须要下载的软件包(默认已搭建好cocos2d-x而且可在VS上执行,本人VS版本号为2013): 1:java 下载地址:http://www.java.com/zh_CN/download/m ...
- (转)关于X64位系统IIS7下支持32位asp.net程序
最近在windows2008 x64位系统下的IIS7下部署asp.net程序. vs2005或vs2008默认的情况下是Any cpu 的也就是支持x86和x64两种系统的.可我的程序在引用了一个三 ...
- 【解决】U盘装系统(Win7/Win8)& 装双系统
作为一名计算机的学生,不会装系统是不是会被笑掉大牙?!! .. 我一直就不太会(不是不会,是不熟练) .. 所以今天闲着没事,把旧电脑捣鼓起来 .. 主要是为了熟悉U盘装系统和装双系统的步骤 .. 基 ...
- 64位系统web项目导出excel问题分析及解决方法汇总
最近在web项目中做了一个导出Excel功能.在导出的时候报错:检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败. 一 ...
- linux下jdk环境变量配置深度分析----解决环境变量不生效的问题
1.linux下jdk环境变量配置 是否需要配置环境变量,主要看java -version 显示的版本是否为你期望的版本 1.1 不需要配置环境变量的情况 使用java -version查看,版本显示 ...
- win7/WIN8.1(x64) 下使用MSDE WIN10不行
通过强制安装(使用管理员权限),手工启动服务的方式,能够在其win7 win81上安装并使用MSDE Microsoft SQL Server 2000 Service Pack 4 Desktop ...
- Win7以上 32/64位系统隐藏托盘图标
前两天有朋友找我,让帮忙写个小工具,隐藏windows的托盘图标,想想最近在家也不想做太复杂的事,也好几年没写过windows上的小工具了,就答应了.想来挺简单的事,没想到还是有点小插曲的.特地来博客 ...
- 在Win8.1(64位)系统上安装Scrapy(python 2.7.7)
为了在win8.1上安装scrapy折腾了好久,最终安装成功,总结步骤如下: 下载安装Visual C++ 2008 redistributables 安装lxml-3.2.4.win-amd64-p ...
随机推荐
- C# 正则表达式匹配汉字
; Regex P_regex = new Regex("^[\u4E00-\u9FA5]{0,}$"); ;i < txt_str.Text.Length; i++) { ...
- 巴特沃斯(Butterworth)滤波器 (1)
下面深入浅出讲一下Butterworth原理及其代码编写. 1. 首先考虑一个归一化的低通滤波器(截止频率是1),其幅度公式如下: 当n->∞时,得到一个理想的低通滤波反馈: ω<1时,增 ...
- 归一化交叉相关Normalization cross correlation (NCC)
归一化交叉相关Normalization cross correlation (NCC) 相关系数,图像匹配 NCC正如其名字,是用来描述两个目标的相关程度的,也就是说可以用来刻画目标间的相似性.一般 ...
- HDU 1892 See you~ (二维树状数组)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1892 See you~ Problem Description Now I am leaving h ...
- java分享第八天-01(线程)
创建线程:1 可以实现Runnable接口.2 可以扩展Thread类本身. 通过实现Runnable创建线程:创建一个线程,最简单的方法是创建一个实现Runnable接口的类.为了实现Runnab ...
- 【WPF】绑定数据
WPF绑定数据 模型类(继承 INotifyPropertyChanged,实现属性的变更通知)
- 01 - 初探JavaScript魅力
网页特效原理 用JavaScript修改样式 编写JS的流程 布局:HTML+CSS 属性:确定要修改哪些属性 事件:确定用户做哪些操作(产品设计) 编写JS:在事件中,用JS来修改页面元素的样式 鼠 ...
- HTML 5 拖放(Drag 和drop)
浏览器支持 Internet Explorer 9.Firefox.Opera 12.Chrome 以及 Safari 5. 1.把标签 draggable 属性设置为 true. 2.向标签添加on ...
- C#中(int)、int.Parse()、int.TryParse()和Convert.ToInt32()的区别
转自:http://www.cnblogs.com/leolis/p/3968943.html 在编程过程中,数据转换是经常要用到的,C#中数据转换的方法很多,拿将目标对象转换为 整型(int)来讲, ...
- 我的ES6学习之路(一)
强烈推荐 阮一峰写的<ECMAScript6入门> let和const命令 let命令: let用于声明变量,用法和var相似,但是不完全相同,有以下几点区别 ① let命令只在当前作用 ...