分類: c#
2011-07-19 22:52
218人閱讀收藏
舉報
本人是用易語言起步的,起初是為了興趣,後來由於易語言被殺軟誤殺嚴重,連空白程式都殺,後來轉到了學c#,隨著學習的深入,接觸越來越複雜的東西之後,發現有些功能沒有用易語言來寫方便,所以就想到用c#來呼叫易語言寫的dll,就和一般的dll呼叫一樣,沒什麼技術含量。
易語言中新建個dll檔案
c#中和一般的dll一樣呼叫
[csharp]view plain
copy
print?
using system;
using system.collections.generic;
using system.componentmodel;
using system.data;
using system.drawing;
using system.linq;
using system.text;
using system.windows.forms;
using system.runtime.interopservices;
namespace e_dll
[dllimport("msg.dll")]
public
static
extern
void msgbox(string text,string title);
private
void button1_click(object sender, eventargs e)
} } 結果如下:
易語言呼叫C 寫的DLL
直接呼叫會彈出堆疊錯誤的資訊,原因是vs預設是 cdcel方式,而易語言是 stdcall,所以呼叫約定不一致導致堆疊錯誤。解決方案很簡單,易語言宣告dll函式時 在庫中對應命令名 函式名前加乙個 符號即可。簡單測試一下 標頭檔案 1 pragma once 2 include 3 4 5 exte...
C 呼叫易語言寫的Dll檔案方法
本人是用易語言起步的,起初是為了興趣,後來由於易語言被殺軟誤殺嚴重,連空白程式都殺,後來轉到了學c 隨著學習的深入,接觸越來越複雜的東西之後,發現有些功能沒有用易語言來寫方便,所以就想到用c 來呼叫易語言寫的dll,就和一般的dll呼叫一樣,沒什麼技術含量。易語言中新建個dll檔案 c 中和一般的d...
C 編寫DLL檔案給易語言呼叫
摸索了兩天了,終於解決了所有問題,在此跟大家分享。需要三個檔案,dll demo.h dll demo.cpp dll dome.def 直接上 標頭檔案如下 1 ifndef dll demo h 2 define dll demo h 3 ifdef dlldemo exports 4 defi...