- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
营销研究VS2012C编写、调用DLL库最好的教程
VS2010、VS2012 中C++编写、调用dll
DLL
一、编写生成 文件
步骤一:打开vs2010
步骤二:文件-新建-项目
步骤三:点击win32(win32控制应用程序(名称输入你的工程名如我的
是lxdll)—确定
点击下一步
步骤四:在应用程序类型选择DLL—完成
接下来你的项目会有如下目录和文件
二、添加头文件
在头文件中添加你要编写的函数声明操作如下 (注:若你已编写完成
就点击现有项,没有就点击新建项 我的是新建项目 如下操作
点中头文件右击添加新建项选中头文件(.h)—名称中输入你要
起的名字如我的mydll添加
添加完成后编辑你的代码(注:是在你新建的头文件中 如我在我的
mydll.h编辑如下)
好接下来我们对函数进行实现 函数的实现在源文件中添加步骤和添
加头文件一样 只是在选择文件类型时选择C++文件(.cpp) 名称中填
写你自定义的文件(我的如下)
进入编辑面板对我们新添加的文件进行编写(我的代码如下 )
注:stdafx.h头文件不添加太会提示如下错误
好编辑完成 我们就来编译 操作如下点击菜单栏中 生成 生成解决
方案(B)
生成成功如下
好大功告成接下来我们测试下面的是显示调用
三、显示调用DLL
第一先建立一个工程
步骤如上我建立的工程名为Dlltest 但注意如下几点 应用程序类型
选择 控制台应用程序
附加选项 选择 空项目 完成
然后右击源文件添加你要编写的.c文件 (注:显示调用c++和c 调
用动态库写法一样 )我添加的是dlltest.c 文件
接下来我面编写代码 我的代码如下
接下来我们运行 运行结果如下 根据自己的dll 路径位置 设置路径
接下来我们进行隐式调用
四、隐式调用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 目录记住是有ex 文件的目录 如我的
添加完成 我们在点击运行 就成功了 结果如下
完成c 调用dll 我们来学习c++调用dll
五、C++调用DLL
我在当前工程下更改的 将以前的源文件删除 添加新的源文件 注意
我们添加的源文件后缀是.cpp 我添加的是test.cpp 内容没有改变
就和.c内容一样如下
头文件我们还要更改一下 防止c++编译器给函数偷换名称
只改动一个地方
我们测试下
OK测试通过
如我们不改,会出现一下问题
您可能关注的文档
最近下载
- DB44T 2719-2025《有限空间智慧安全管控技术规范》.pdf VIP
- 河堤建设工程施工合同.doc VIP
- 2024年执业中药师考试复习资料重点知识点与背诵口诀.pdf VIP
- 职业院校课程思政与思政课程协同育人典型案例.pdf VIP
- 12D101-5(替代94D101-5)110kV及以下电缆敷设.docx VIP
- 北师大版小学六年级数学上册第1单元测试卷(有答案).docx VIP
- 第六章管式反应器.ppt VIP
- 六年级上册分数四则混合运算300题及答案.docx VIP
- 2024—2025学年河南省开封高级中学高一上学期第一次月考物理试卷.doc VIP
- 学校升旗台工程方案范文(3篇).docx VIP
文档评论(0)