一:用C++创建DLL
按照【在VS2015中用C++编写可被其它语言调用的动态库DLL】提示创建C++编写的DLL,或参考【 在VS2015中用C++创建DLL并用C#调用且同时实现对DLL的调试】中的步骤二:用C++创建DLL。
二:用C++隐式调用DLL
因为是隐式调用DLL所以在Debug模式下生成DLL了,然后调用时也在Debug模式下,这样在调试时就不用赋值动态库了
隐式调用仅在C++CallDLL.h文件中设置了lib文件的相对位置,并没有牵扯到DLL文件,若在Release模式下生成DLL,在Debug模式下调用,则Debug文件夹下会因缺少DLL而出错,此时可以将Release文件夹中的DLL拷贝到Debug文件夹中,在调试就没有问题了。
(1)在解决方案上右击进行如下选择
(2)在添加新项目对话框中进行如下选择填写
(3)在【头文件】上右击进行如下选择
(4)在添加新项对话框进行如下选择填写
(5)在C++CallDLL.h文件中添加下图所示测试代码,代码中的相对路径指的是:编译后的exe程序相对于DLL的路径
(6)在C++CallDLL.cpp文件中添加下图所示测试代码
(7)将解决方案切换到Debug模式下,并且在C++CallDLL项目上右击设置为启动项目
(8)运行C++CallDLL项目结果如下:
(9)在C++项目的源码中设置断点,在Debug模式下运行,程序会自动跳到断点处,如下图,从中可以看到C++项目中的值已经传到DLL中了
(10)源码下载地址:在VS2015中用C++创建DLL并用C++调用且同时实现对DLL的调试源码