C 呼叫C 匯出類的乙個例項

2021-05-22 20:29:46 字數 1724 閱讀 2175

首先我讓老哥寫了一段c++**,如下

#ifdef testdll_exports

#define testdll_api __declspec(dllexport)

#else

#define testdll_api __declspec(dllimport)

#endif

// 此類是從 testdll.dll 匯出的

class testdll_api ctestdll

int sub(int a, int b)

int mul(int a, int b) };

extern testdll_api int ntestdll;

testdll_api int fntestdll(void);

這裡有乙個class :ctestdll,它有三個function:add、sub、mul,通過使用uedit32檢視到它對應的三個匯出函式分別是

1、?add@ctestdll@@qaehhh@z

2、?sub@ctestdll@@qaehhh@z

3、?mul@ctestdll@@qaehhh@z

好了,現在開始做demo了:

2、將c++編譯的testdll.dll放入bin/debug(因為我用的是除錯模式);

3、新建乙個類庫檔案,內容如下

using system;

using system.runtime.interopservices;

?add@ctestdll@@qaehhh@z

", charset = charset.auto)]

private static extern int add(int a, int b);

public int myadd(int a, int b)

[dllimport("testdll.dll", entrypoint = "

?sub@ctestdll@@qaehhh@z

", charset = charset.auto)]

private static extern int sub(int a, int b);

public int mysub(int a, int b)

[dllimport("testdll.dll", entrypoint = "

?mul@ctestdll@@qaehhh@z

", charset = charset.auto)]

private static extern int mul(int a, int b);

public int mymul(int a, int b)}}

4、建乙個form  拖放三個textbox 和三個button

5、雙擊button,寫入如下**

private void button1_click(object sender, eventargs e)

private void button2_click(object sender, eventargs e)

private void button3_click(object sender, eventargs e)

6、啟動除錯(或按f5),嘗試三個按鈕的功能;

7、除錯成功。到此c#呼叫c++匯出類的例項結束了,整個例項 關鍵是找到對應的每個匯出函式。

(119.6 kb)

C 呼叫C 匯出類的乙個例項

首先我讓老哥寫了一段c 如下 ifdef testdll exports define testdll api declspec dllexport else define testdll api declspec dllimport endif 此類是從 testdll.dll 匯出的 class...

C 呼叫python的乙個簡單例項

在c 中使用python的時候,首先需要配置python的環境。在此,我就不說明如何配置環境了,網路一搜都是配置方法。以下,我介紹下我在c 中是如何呼叫python的方法。僅僅作為參考,有問題咱們可以一起交流。第一步 python中的簡單應用函式 test.py defadditionfc a b ...

C 呼叫操作Excel的乙個類

在這兒本來想寫長一點的文章,但因為時間的關係,沒有寫成。現把自己做的乙個小東西,c 呼叫excel作報表的源 放在這兒給大家看看。關於 的構成,在源 中已經有完整的 注釋了,這兒就不說什麼了。下面的這個類中,主要完成的功能是從資料庫 中逐字段讀出資料,設定格式後,在excel中顯示出來。這是它執行後...