易語言調用C++寫的DLL
阿新 • • 發佈:2018-06-12
mage clas XP 編程入門 cpp ret 模塊 lsp 錯誤
直接調用會彈出堆棧錯誤的信息,原因是VS默認是__cdcel方式,而易語言是__stdcall,所以調用約定不一致導致堆棧錯誤。
解決方案很簡單,易語言聲明DLL函數時“在庫中對應命令名”函數名前加一個“@”符號即可。
簡單測試一下:
頭文件:
1 #pragma once 2 #include <Windows.h> 3 4 5 extern "C" __declspec(dllexport) int add1(int a, int b);
CPP文件:
1 #include "dll1.h" 2 3 int add1(int a, int b) 4 { 5 returna + b; 6 }
編譯後,易語言調用一下子
結果如下,不會彈出堆棧錯誤了:
個人比較喜歡易語言,因為是我編程入門的語言,更喜歡它的中文編碼、簡潔、方便,加上各路大佬開源的模塊:如精易模塊、超級模塊,用起來就更加方便了,對我而言不亞於當今很火的Python了。
不知道為啥Python的模塊會那麽多,如果易語言的開源模塊也那麽多就更好了,這樣的話感覺易語言會在這代年青人程序員迅速火爆中國!
易語言調用C++寫的DLL