[英]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.