我was looking for MSBuild.exe,我在两个略有不同的地方找到了它:
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]){
// read the parameters
// check input
if( nrhs != 1 || !mxIsNumeric(prhs[0]) )
mexErrMsgTxt("A unique scalar number with the expected size of the queue is necessary.\n");
// retrieve the data
int nelems = 100;
retrieve_data( prhs[0], nelems );
// instantiate the priority queue
MaxHeap<double>* pq = new MaxHeap<double>(nelems);
// convert the points to double
plhs[0] = mxCreateDoubleMatrix(1,1,mxREAL);
double* pointer_to_tree = mxGetPr(plhs[0]);
pointer_to_tree[0] = (long long) pq;
}
它们之间有什么区别,我应该使用哪种?
答案 0 :(得分:2)
它们之间的区别是什么?
MSBuild.exe有两个版本,32位和64位。
在32位计算机上,MSBuild.exe存在于路径中:C:\Program Files\..\..\Bin\MSBuild.exe
在64位计算机上,有两个版本的MSBuild.exe工具。 32位工具位于:Bin\MSBuild.exe
和64位工具下:Bin\amd64\MSBuild.exe
如果您想了解这两个版本之间的一些差异,可以参考博客:Building on Cross targeting scenarios and 64-bit MSBuild。
我应该使用哪个?
要回答这个问题,您应该知道32位程序和64位程序之间的区别。您可以参考this document了解详细信息。
如果程序集配置为任何CPU,则它将在64位计算机上以x64运行,在32位计算机上以x86运行。
如果程序集配置为x86,那么它将在64位计算机上运行为WOW64(即32位进程),在32位运行时运行为x86 机。
- 醇>
如果程序集配置为x64,那么它将在64位计算机上以x64身份运行,并且无法在32位计算机上运行
所以你应该使用Bin / MSBuild.exe ,它可以在64位机器上运行,在32位机器上运行x86。
此外,Visual Studio构建相当于运行32位MSBuild。