前言
考虑到使用E语言设计程序界面比较简单与方便,同时又有一些比较完善的 DirectUI 引擎的支持,故在一些实际的小项目中可以考虑用C/C++写核心,E写界面,两者取长补短,提高开发效率。本文分享如何在VS2017中用使用C++编写DLL文件并在E中进行调用。
(在E中借助自绘引擎做的界面)
一、编写DLL
1. 打开VS2017,文件->新建->项目-Visual C++->空项目,这里命名为demo。
2. 在 资源管理器->源文件 中新建一个名为 demo.cpp 的 C++ 源文件:
1 | #include "demo.h" |
3. 在 资源管理器->源文件 中新建一个 demo.def 文件:
1 | LIBRARY demo |
4. 在 资源管理器->头文件 中新建一个 demo.h 头文件:
1 | #pragma once |
5. 为了得到尽可能小的体积,在 Release 模式下调试项目,报错显示不是有效的 Win32 应用程序,不用管,找到工程目录下 Release 文件夹中生成的 demo.exe,修改其后缀为 .dll 得到 DLL 文件。
二、调用DLL
1. 新建E程序,添加外部DLL引用:
2. 这里注意,因为C++与E默认的约定模式不同,如果命令有参数的话,“在库中对应命令名”一栏前面要加上一个@符号,否则会出现堆栈错误。
3. 调用相关代码,此处添加在窗口创建完毕的事件子程序中:
1 | .版本 2 |
4. 将 demo.dll 放在e程序的同级目录下,或者使用 置DLL装载目录 () 命令将下一次默认调用目录转到dll文件所在目录,随后 F5 调试程序。运行结果如下图: