用于C++;C#应用程序中的模块
我在我的项目中改写了一个从C++到非托管C++的两页代码,其中的全部优化给出了3X加速。我想继续优化代码,但现在我选择的探查器dotTrace无法做到这一点,因为它只查看托管代码用于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>
如何在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);