在VS2015中用C++创建DLL并用C++调用且同时实现对DLL的调试

时间:2022-03-03 12:27:57

一:用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)在解决方案上右击进行如下选择

在VS2015中用C++创建DLL并用C++调用且同时实现对DLL的调试

(2)在添加新项目对话框中进行如下选择填写

在VS2015中用C++创建DLL并用C++调用且同时实现对DLL的调试

(3)在【头文件】上右击进行如下选择

在VS2015中用C++创建DLL并用C++调用且同时实现对DLL的调试

(4)在添加新项对话框进行如下选择填写

在VS2015中用C++创建DLL并用C++调用且同时实现对DLL的调试

(5)在C++CallDLL.h文件中添加下图所示测试代码,代码中的相对路径指的是:编译后的exe程序相对于DLL的路径

在VS2015中用C++创建DLL并用C++调用且同时实现对DLL的调试

(6)在C++CallDLL.cpp文件中添加下图所示测试代码

在VS2015中用C++创建DLL并用C++调用且同时实现对DLL的调试

(7)将解决方案切换到Debug模式下,并且在C++CallDLL项目上右击设置为启动项目

在VS2015中用C++创建DLL并用C++调用且同时实现对DLL的调试

(8)运行C++CallDLL项目结果如下:

在VS2015中用C++创建DLL并用C++调用且同时实现对DLL的调试

(9)在C++项目的源码中设置断点,在Debug模式下运行,程序会自动跳到断点处,如下图,从中可以看到C++项目中的值已经传到DLL中了

在VS2015中用C++创建DLL并用C++调用且同时实现对DLL的调试

(10)源码下载地址:在VS2015中用C++创建DLL并用C++调用且同时实现对DLL的调试源码