[問題] DLL for C# Error:嘗試讀取或寫入受保씠…
看板C_and_CPP (C/C++)作者laevatain103 (RICO)時間15年前 (2011/05/18 19:48)推噓1(1推 0噓 11→)留言12則, 5人參與討論串1/2 (看更多)
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++
VC#
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
我想用C++包成DLL給C#使用結果發生:
其他資訊: 嘗試讀取或寫入受保護的記憶體。這通常表示其他記憶體已損毀
餵入的資料(Input):
預期的正確結果(Expected Output):
錯誤結果(Wrong Output):
程式碼(Code):(請善用置底文網頁, 記得排版)
C++ DLL code(win32)
extern "C" __declspec(dllexport) void two2(int**,int**);
void __declspec(dllexport) two2(int** a,int** c)
{
c[1][1]=a[1][1];
}
-----------------------------------------------------
C# code
[DllImport(@"cppdll.dll")]
public static extern void two2(int[,] x, int[,] y);
private void button3_Click(object sender, EventArgs e)
{
unsafe
{
int[,] a = { { 1, 2 }, { 3, 4 } };
int[,] c = new int[2, 2];
two2(a, c);
MessageBox.Show(c[1, 1].ToString());
}
}
補充說明(Supplement):
各位大大我主要是想說丟一個2維陣列給C++DLL去進行運算,
然後回傳一個2維陣列結果給C#
我現在卡在不知道會有這樣的問題出來= =
所以來求就各位大大幫忙!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.33.51.23
推
05/18 20:06, , 1F
05/18 20:06, 1F
→
05/18 20:06, , 2F
05/18 20:06, 2F
→
05/18 20:07, , 3F
05/18 20:07, 3F
→
05/18 20:15, , 4F
05/18 20:15, 4F
→
05/18 20:19, , 5F
05/18 20:19, 5F
→
05/18 20:20, , 6F
05/18 20:20, 6F
→
05/18 20:20, , 7F
05/18 20:20, 7F
→
05/18 20:21, , 8F
05/18 20:21, 8F
→
05/18 20:24, , 9F
05/18 20:24, 9F
→
05/18 21:31, , 10F
05/18 21:31, 10F
→
05/18 21:35, , 11F
05/18 21:35, 11F
我的主要目的是想把CUDA打包成DLL給C#使用
因為我看網路上的教學都是以WIN32進行打包,不知道CLR/CLI可不可以打包CUDA。
※ 編輯: laevatain103 來自: 114.33.51.23 (05/18 22:25)
→
05/18 22:47, , 12F
05/18 22:47, 12F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章