摸索了兩天了,終于解決了所有問題,在此跟大家分享。
需要三個(gè)文件,dll_demo.h、dll_demo.cpp、dll_dome.def
直接上代碼:
頭文件如下:
1
2
3
4
5
6
7
8
9
|
#ifndef _DLL_DEMO_H_ #define _DLL_DEMO_H_ #ifdef DLLDEMO_EXPORTS #define DLL_DEMO extern "C" __declspec(dllexport) #else #define DLL_DEMO extern "C" __declspec(dllimport) #endif DLL_DEMO int __stdcall Add( int a, int b); #endif |
源文件:
1
2
3
4
5
6
7
|
#define DLLDEMO_EXPORTS #include "dll_demo.h" int __stdcall Add(int a, int b) { return (a + b); } |
def文件:
1
2
3
|
LIBRARY EXPORTS Add @ 1 |
函數(shù)需要聲明為 stdcall調(diào)用方式才能被易語言調(diào)用,def文件的主要作用為解決使用stdcall方式后函數(shù)名被改變的問題。在vs2013中引入def文件需要手動(dòng)在工程屬性,鏈接器,輸入,模塊定義文件中添加。
總結(jié):以上就是關(guān)于C++寫DLL讓易語言調(diào)用的全部方法和代碼,感謝大家的閱讀和對(duì)服務(wù)器之家的支持。