小白菜系列之——动态库的使用
1. 创建普通hello world程序
1)新建一个Demo项目,如下图所示:
2)创建源文件main.cpp,写一个输出“Hello world”的程序代码,如下图:
3)编译并运行,成功打印“hello world”,结果如下:
2. 使用动态库方式
修改上述程序,使用动态库方式,将hello world成功打印
2.1 新建一个类型为动态库的空项目
1)在解决方案上点击右键,弹出右键菜单,选择【添加】--》【新建项目】,如下图:
2)新建DemoDll项目,如下图,点击【确定】按钮,如下图:
3)继续点击【下一步】按钮,如下图:
这里必须点击【下一步】按钮,为了后续修改程序类型。
4)修改设置,点击【完成】按钮,如下图:
修改内容:
- 选择 “应用程序类型”为“DLL“类型;
- 勾选“空项目“;
5)创建DemoDLL项目成功。如下图:
2.2 动态库编写代码实现打印
1)DemoDll项目新建dll.cpp文件,如下图:、
在dll.cpp文件中编写输出函数,如下图:
2)DemoDll项目新建dllGlobal.h文件,如下图:
在dllGlobal.h文件中编写输出函数,如下图:
3)编译后,编译通过,且生成路径下有lib与dll,如下图:
2.3 Demo项目加载DemoDll
1)因为Demo与DemoDll是两个项目,在本地为两个不同的路径,需要先添加依赖路径:
右键项目属性,修改【VC++目录】--》编辑【包含目录】,添加DemoDll路径,如下图:
新建包含目录,点击【确定】,如下图:
包含路径添加成功,如下图:
2)此时可以正常添加printInfo()函数,但无法编译通过。需要添加依赖的lib文件与其路径,如下图:
添加DemoDll.lib文件名称,如下图:
在VC++目录中,添加依赖的相对路径,如下图:
2.4 编译并运行
3. 总结
使用动态库的注意事项:
1. 需要添加_declspec(dllexport)的修饰符,用于导出;
2. 添加包含路径,用于头文件引入;
3. 添加依赖的lib文件,以及依赖的库目录;
- 点赞
- 收藏
- 关注作者
评论(0)