updatempich.cpp

来自「MPICH是MPI的重要研究,提供了一系列的接口函数,为并行计算的实现提供了编程」· C++ 代码 · 共 99 行

CPP
99
字号
#include "mpdimpl.h"#include "Translate_Error.h"#include "Service.h"#include "mpdutil.h"void UpdateMPICH(char *pszFileName){    int error;    char pszStr[4096];    char *filename = NULL, *name_part;    DWORD len;    len = SearchPath(NULL, "mpich.dll", NULL, 0, filename, &name_part);    if (len == 0)    {	if (GetSystemWindowsDirectory(pszStr, 4096))	{	    strcat(pszStr, "\\system32\\mpich.dll");	    if (!MoveFileEx(pszFileName, pszStr, MOVEFILE_COPY_ALLOWED | MOVEFILE_REPLACE_EXISTING))	    {		error = GetLastError();		Translate_Error(error, pszStr);		err_printf("Unable to move '%s' to '%s'\nError: %s\n", pszFileName, filename, pszStr);		return;	    }	}	err_printf("unable to find mpich.dll\n");	return;    }    filename = new char[len*2+2];    len = SearchPath(NULL, "mpich.dll", NULL, len*2, filename, &name_part);    if (len == 0)    {	delete filename;	err_printf("unable to find mpich.dll\n");	return;    }    if (!MoveFileEx(pszFileName, filename, MOVEFILE_COPY_ALLOWED | MOVEFILE_REPLACE_EXISTING))    {	error = GetLastError();	Translate_Error(error, pszStr);	err_printf("Unable to move '%s' to '%s'\nError: %s\n", pszFileName, filename, pszStr);	delete filename;	return;    }    delete filename;}void UpdateMPICHd(char *pszFileName){    int error;    char pszStr[4096];    char *filename = NULL, *name_part;    DWORD len;    len = SearchPath(NULL, "mpichd.dll", NULL, 0, filename, &name_part);    if (len == 0)    {	if (GetSystemWindowsDirectory(pszStr, 4096))	{	    strcat(pszStr, "\\system32\\mpichd.dll");	    if (!MoveFileEx(pszFileName, pszStr, MOVEFILE_COPY_ALLOWED | MOVEFILE_REPLACE_EXISTING))	    {		error = GetLastError();		Translate_Error(error, pszStr);		err_printf("Unable to move '%s' to '%s'\nError: %s\n", pszFileName, filename, pszStr);		return;	    }	}	err_printf("unable to find mpichd.dll\n");	return;    }    filename = new char[len*2+2];    len = SearchPath(NULL, "mpichd.dll", NULL, len*2, filename, &name_part);    if (len == 0)    {	delete filename;	err_printf("unable to find mpichd.dll\n");	return;    }    if (!MoveFileEx(pszFileName, filename, MOVEFILE_COPY_ALLOWED | MOVEFILE_REPLACE_EXISTING))    {	error = GetLastError();	Translate_Error(error, pszStr);	err_printf("Unable to move '%s' to '%s'\nError: %s\n", pszFileName, filename, pszStr);	delete filename;	return;    }    delete filename;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?