我在我的項目中重寫了一個數字處理C#代碼的兩頁代碼,這些代碼在我的項目中使用了非託管C++,而完全優化後的代碼給出了3倍的加速。我想繼續優化該代碼,但現在我的選擇分析器dotTrace無法執行此操作,因爲它只查看託管代碼。在C#應用程序中用於C++模塊的分析器
如何在C/C++應用程序中運行時調用P/Invoked C++模塊?
和切向的問題: 調用經由P /調用以下功能不產生任何不必要的開銷(如複製陣列),是嗎?只要確定。 (請注意,富都來自bar
讀取和寫入的話)
// 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);
編譯器:MSVC在Vista
'float [,]/float *'真的對嗎? 'float []/float *'或者'float [,]/float **'不會更好關聯嗎? – ephemient 2009-10-17 05:10:22
沒有。學習float [,]和float [] []之間的區別。 – 2009-10-17 20:07:39
我不知道,我不使用C#。我會將其添加到我不知道的語言列表:) – ephemient 2009-10-18 04:03:33