本文创建两个动态库addDll.dll , squareSumDll.dll 动态库addDll.dll有一个函数 int add(int a, int b), squareSumDll.dll中有一个函数int squareSum(int a, int b), 函数squareSum会调用函数add。废话不多说,正文正式开始:
创建一个类型为DLL的空项目addDll
添加头文件,add.h,此时可以看到DLLAPI的含义是_declspec(dllimport)
选中项目-》右键,选属性-》配置属性-》C/C++ -》预处理器-》预处理器定义。在预处理器定义里,增加一条_DLLAPI
此时可以看到DLLAPI的含义是_declspec(dllexport)
添加源文件
选中工程,右键,选择生成,可以看出,已经生成了动态库文件addDll.dll
此时可以看出,addDll里面的add函数已经导出
下面,再创建一个动态库squareSumDll, 还选择空项目。这个动态库将会调用add.dll里面的add函数。将上一步里生成的add.dll,放到新的工程squareSumDll目录下面
添加头文件,并且像上一步一样,定义 _DLLAPI
添加源文件
选中工程,右键,选择生成
可以看到动态库squareSumDll已经生成,并且squareSum函数已经导出
测试动态库squareSumDll.dll
创建一个控制台应用程序,空项目
把上面创建好的动态库squareSumDll.dll放到工程目录下面
添加源文件,点击生成
将addDll.dll放入生成的Debug文件夹下,和可执行文件是同一个文件夹,然后就可运行了
选中工程testSquareSum,右键-》调试 -》启动新实例,就可以运行了