簡體   English   中英

C#如何從C ++ dll調用函數

[英]C# How to call function from C++ dll

我有以下在dll文件中實現的代碼

typedef  signed __int16 TS_ELEMENT;
typedef  TS_ELEMENT *   TS_DATA;
LIBTERAVIEW_API TS_RES tsRead(TS_DATA buffer);

我想在我的C#程序中調用此函數,並使用它來查看從中打印的數據。 我已經閱讀了有關非托管結構和從DLL導入函數的信息。 但是,我無法在代碼中弄清楚如何執行此操作的語法。 根據有關該主題的閱讀,我生成了以下代碼:

[DllImport("libteraview.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void tsStart();

[DllImport("libteraview.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern byte* tsRead(byte* buffer);`

但是第一個有效,但我無法獲得第二個方法來運行和讀取數據,因為它始終會給我帶來未處理的異常錯誤。

我將對如何從DLL導入此tsRead()函數提供幫助。

請檢查tsRead()函數的返回類型和參數類型。 應該是int而不是字節。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM