首先我讓老哥寫了一段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中顯示出來。這是它執行後...