mixed-mode

    0熱度

    2回答

    我強迫在C#庫中公開一些方法,以便它們可以從用C++編寫的外部程序(VC++ 6.0)中使用。因此,我創建了一個混合程序集,迄今爲止工作得很好,但是對於返回.NET對象數組的方法我有一些麻煩。 方法的.NET簽名是: public Results[] Measure(String model, String identifier); 哪裏Results本身是: public class Res

    2熱度

    1回答

    具有C++以下代碼: nConId是連接標識符 pParName參數名 pSubName子參數名稱(如果有的話) pValue_out指向長度爲char數組的指針FCL_PAR_VALUE_LENGH nValueSize pValue_out向量的實際大小(至少爲FCL_PAR_VALUE_LENGH) extern "C" MY_API int ReadParameter(const Conn

    0熱度

    1回答

    我想調試一個在VC++中使用MSVS 2008構建的DLL。我選擇使用CLR(公共語言運行時?),所以我可以利用System :: Net :: Socket API。該API似乎工作正常,但是,我的DLL函數之一需要比較來自套接字的字節與文字字符串「ON」: 我安排通過套接字發送一些匹配的字節,但比較總是失敗。我最終能夠通過MSVS調試器遍歷代碼,並且我可以看到套接字字節被轉換爲與我使用的字面值

    0熱度

    1回答

    我有一個調用python模塊的visual studio 2015 C++項目。 微軟網站上的以下教程提供了一種方法,用於在從Visual Studio Python項目調用C++代碼時進行調試。 REF:https://docs.microsoft.com/en-us/visualstudio/python/debugging-mixed-mode 同樣是有可能調試正由一個C++程序 例如我的C

    2熱度

    1回答

    我有一個混合模式的C++/CLI類和接口,我想從C#中使用。該接口的定義如下: public interface class IMapRenderingInterfacer { ... property int CurrentCacheSize { int get(); }; ... }; 實現類有這個聲明在其頭文件: public ref class Map

    -1熱度

    1回答

    我開發了託管C++應用程序,它將一個對象ManagedSubscription返回給C#客戶端。 ManagedSubscription接收來自C#客戶端的回調,在內部自行回調以與本機C++代碼進行通信。 雖然從原生跨越邊界到託管,我觀察到崩潰。 我已經把try-catch放在本地以及託管回調中,但它沒有被捕獲。 這是我的託管C++代碼: struct NativeCallbackWrapper

    1熱度

    1回答

    我正在創建一個用C++/CLI編寫的NuGet包。它充當C#和本機C++之間的互操作。 生成的DLL具有管理的表面區域和本地implib表面區域。 Visual Studio只喜歡從NuGet包中使用單個引用程序集,而不是每個接收項目的Debug或Release配置中的不同引用程序集。 我想從NuGet包中獲取的引用程序集根據配置而有所不同,這樣我就可以在nupkg中嵌入調試和發佈DLL,並讓Re

    -1熱度

    1回答

    我正在寫一個VC++/CLI < - >C#接口的小型非託管庫。這個庫的用途和實現WINAPI方法,所以它主要採用結構爲 DWORD getResult(__out LPWSTR* result); 這意味着它不會返回請求的結果,而是一個的StatusCode,並且請求的結果輸出參數傳遞。 在C#中,看來,我有(至少)編寫接口的方法有兩種: 默默地「transpile」它UInt32 getR

    1熱度

    1回答

    我正在將C++庫包裝到CLI中,以便它可以在c#上運行。 這是我在C++庫函數: void setCallback(void (*pFunc)(void * pParam), void * pParam); 這裏是例子: void callbackHandler(int iNum) { cout<<"Callback : "<< iNum <<endl; }

    0熱度

    1回答

    這是我第一次在這裏的問題混合模式DLL的本地函數的地址,所以請不要太爲難我:) 我得到了什麼: 混合模式的C#DLL,即具有C#代碼進而調用在同一DLL一個本地方法,,即時通訊感興趣 調用: int num3 = <Module>.fn_GetBitArray((byte*)(&[email protected]), (byte*)(&$ArrayType$$$BY05E2), ref nHard