Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/159.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于C++;C#应用程序中的模块_C#_C++_Optimization_Pinvoke_Visual C++ - Fatal编程技术网

用于C++;C#应用程序中的模块

用于C++;C#应用程序中的模块,c#,c++,optimization,pinvoke,visual-c++,C#,C++,Optimization,Pinvoke,Visual C++,我在我的项目中改写了一个从C++到非托管C++的两页代码,其中的全部优化给出了3X加速。我想继续优化代码,但现在我选择的探查器dotTrace无法做到这一点,因为它只查看托管代码 如何在p/c++模块运行时在C++程序中进行配置?< /P> 还有一个无关紧要的问题: 通过P/Invoke调用以下函数不会产生任何不必要的开销(例如复制数组),对吗?只是确定一下。(请注意,Foo既从条中读取,也向其写入) 编译器:Vista上的msvc可以分析本机代码和托管代码。这是一个非常强大的工具。< /P>

我在我的项目中改写了一个从C++到非托管C++的两页代码,其中的全部优化给出了3X加速。我想继续优化代码,但现在我选择的探查器dotTrace无法做到这一点,因为它只查看托管代码

如何在p/c++模块运行时在C++程序中进行配置?< /P>


还有一个无关紧要的问题: 通过P/Invoke调用以下函数不会产生任何不必要的开销(例如复制数组),对吗?只是确定一下。(请注意,Foo既从
条中读取,也向其写入)


编译器:Vista上的msvc可以分析本机代码和托管代码。这是一个非常强大的工具。< /P> < P>如何为C++代码制作独立的测试带,并用VTune、CalgRink、Qu量化、OpRoFiel.……/P>< P>等任意数量的工具来分析它。VisualStudio Prror与混合模式应用程序一起工作。不幸的是,在VS 2008中很难访问它,但它包含在VS 2010终极测试版中,您可以免费下载

是不是
float[,]/float*
真的对吗?
float[]/float*
float[,]/float**
不是更好的关联吗?不。了解float[,]和float[]之间的区别。我不知道,我不使用C。我将把它添加到我不懂的语言列表中:)
// From the C# side:
[DllImport("foo.dll")]
static extern void Foo(float[,] bar);

// From the C++ side:
extern "C" __declspec(dllexport)
void Foo(float* bar);