您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > VS2010软件C++生成DLL库
打开vs2010文件新建项目点击win32win32控制应用程序名称输入你的工程名如我的是lxdll—确定点击下一步在应用程序类型选择DLL—完成接下来你的项目会有如下目录和文件在头文件中添加你要编写的函数声明操作如下(注:若你已编写完成就点击现有项,没有就点击新建项我的是新建项目如下操作点中头文件右击添加新建项选中头文件(.h)—名称中输入你要起的名字如我的mydll添加添加完成后编辑你的代码(注:是在你新建的头文件中如我在我的mydll.h编辑如下)好接下来我们丢函数进行实现函数的实现在源文件中添加步骤和添加头文件一样只是在选择文件类型时选择C++文件(.cpp)名称中填写你自定义的文件(我的如下)进入编辑面板对我们新添加的文件进行编写(我的代码如下)注:stdafx.h头文件不添加太会提示如下错误好编辑完成我们就来编译操作如下点击菜单栏中生成生成解决方案(B)生成成功如下好大功告成接下来我们测试下面的是显示调用第一先建立一个工程步骤如上我建立的工程名为Dlltest但注意如下几点应用程序类型选择控制台应用程序附加选项选择空项目完成然后右击源文件添加你要编写的.c文件(注:显示调用c++和c调用动态库写法一样)我添加的是dlltest.c文件接下来我面编写代码我的代码如下接下来我们运行运行结果如下根据自己的dll路径位置设置路径接下来我们进行隐式调用第一步我们建立工程和上面一样不再叙述我建立的是testlxdll接下来我们添加头文件我们先添加用c程序测试我们编写的dll我添加的是名为head.h内容如下其中lxdll.lib是在生成dll时产生的lib是什么?如下解释如果有dll文件,那么lib一般是一些索引信息,记录了dll中函数的入口和位置,dll中是函数的具体内容;如果只有lib文件,那么这个lib文件是静态编译出来的,索引和实现都在其中。使用静态编译的lib文件,在运行程序时不需要再挂动态库,缺点是导致应用程序比较大,而且失去了动态库的灵活性,发布新版本时要发布新的应用程序才行。看来我们的lib就是记录记录了dll中函数的入口和位置现在我们程序还不能打开lib因为程序中没有我们要导入它步骤如下右击项目添加—现有项找到你生成的.lib文件点击添加添加成功后我们项目栏中会有lxdll.lib文件接下来我们添加源文件记住扩展名为.c(我起的为testlxdll.c)内容如下好我们开始运行他会提示很明显程序没有lxdll.dll文件我们要手动添加找到你项目的位置有个debug目录记住是有exe文件的目录如我的添加完成我们在点击运行就成功了结果如下完成c调用dll我们来学习c++调用dll我在当前工程下更改的将以前的源文件删除添加新的源文件注意我们添加的源文件后缀是.cpp我添加的是test.cpp内容没有改变就和.c内容一样如下头文件我们还要更改一下防止c++编译器给函数偷换名称只改动一个地方我们测试下OK测试通过如我们不该会出现一下问题
本文标题:VS2010软件C++生成DLL库
链接地址:https://www.777doc.com/doc-6018595 .html