操作系统实验一_动态链接库的建立与调用

操作系统实验一_动态链接库的建立与调用

ID:33700594

大小:987.04 KB

页数:12页

时间:2019-02-28

操作系统实验一_动态链接库的建立与调用_第1页
操作系统实验一_动态链接库的建立与调用_第2页
操作系统实验一_动态链接库的建立与调用_第3页
操作系统实验一_动态链接库的建立与调用_第4页
操作系统实验一_动态链接库的建立与调用_第5页
资源描述:

《操作系统实验一_动态链接库的建立与调用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、-12-上海电力学院计算机操作系统原理实验报告题  目: 实验一动态链接库的建立与调用院  系: 计算机科学与技术学院班级: 学生姓名: 学号: 评语:       成绩:   2014年 10月10 日-12-上海电力学院实验报告课程名称:计算机操作系统实验项目:动态链接库的建立与实调用姓名:学号:班级:专业:同组人姓名无指导教师姓名徐曼实验日期一.实验目的和要求:1.理解动态链接库的实现原理;2.掌握WINDOWS系统动态链接库的建立方法;3.掌握WINDOWS环境下动态链接库的调用方法。4.掌握动态链接库建立和调用方法,

2、在WINDOWSXP+VC++6.0环境下建立一个动态链接并分别使用隐式和显式将其调用,从而体会使用动态链接库的优点。二.实验内容:1.在Windows环境下建立一个动态链接库。2.使用隐式调用法调用动态链接库。3.使用显式调用法调用动态链接库。三.实验平台:VisualStudioC++6.0四.实验原理本次实验将在Windows7和VisualStudioC++6.0环境下建立一个动态链接库,分别使用隐式和显示的方式将其调用。动态链接库是一个可执行模块,它包含的函数可以由Windows应用程序调用提供所需功能,为应用程序提

3、供服务。五.实验步骤与记录1)启动VisualStudioC++6.02)选择file->new命令,新建一个Win32Dynamic-LinkLinrary程序。-12-3)创建一个简单的工程4)用户直接使用DllMain的动态链接库入口函数-12-5)使用编译连接工具生成动态链接库6)动态连接库的隐式调用首先建立一个Win32ConsoleApplication,在位置栏内输入工程文件名所在路径。7)选择控制台文件类型:一个支持MFC的程序,单击完成按钮。-12-8)用此文件中的CallDll.cpp调用前面建立好的函数动

4、态链接库Mydll.dll9)生成控可执行文件之前,把Mydll.dll复制到工程文件CallDll的debug文件中,将Mydll.lib复制到CallDll.cpp中,然后在MicrosoftVisual-12-C++环境下,选择ProjectSetting命令,在连接选项中的ProjectOptions文本框中输入动态链接库的导入/导出库文件Mydll..lib10)如果需要设置函数调用参数传递,在编辑环境中进行设置。选择工程->设置,在C/C++选项中的Category下拉列表框中选择CodeGeneration,在

5、Callingconvention选择_cdecl。-12-11)隐式调用实验结果截图:12)选择file→new命令,选择Win32ConsoleApplication建立一个控制台工程文件Call。-12-13)选择一个支持MFC的程序14)打开编辑环境,编译后,连接并运行程序。-12-14)显示调用实验结果截图四.程序源代码1.建立动态链接库Mydll.cpp文件源代码://jkh.cpp:DefinestheentrypointfortheDLLapplication.#include"stdafx.h"extern"

6、C"_declspec(dllexport)intAdd(intx,inty);extern"C"_declspec(dllexport)intSub(intx,inty);BOOLAPIENTRYDllMain(HANDLEhModule,DWORDul_reason_for_call,LPVOIDlpReserved){returnTRUE;}intAdd(intx,inty){intz;z=x+y;returnz;}intSub(intx,inty){intz;-12-z=x-y;returnz;}2.隐式调用动态链接库

7、CallDll.cpp文件源代码#include"StdAfx.h"extern"C"_declspec(dllimport)intAdd(intx,inty);extern"C"_declspec(dllimport)intSub(intx,inty);intmain(intargc,char*argv[]){intx=7;inty=6;intadd=0;intsub=0;printf("calldllnow!");add=Add(x,y);sub=Sub(x,y);printf("7+6=%d,7-6=%d",ad

8、d,sub);return0;}3.显示调用动态链接库Mydll.dll的Call.cpp文件源代码:#include"StdAfx.h"#include"Call.h"#ifdef_DEBUG#definenewDEBUG_NEW#undefTHIS_FILEstaticc

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。