VC环境下实现动态链接库编写毕业论文

 2021-04-12 04:04

摘 要

动态链接库(Dynamic Link Library,缩写为 DLL)可以简单的看成一种仓库,它可以提供给你一些可以直接拿来用的变量、函数或类。静态链接库与动态链接库都是通过共享代码的方式,使用动态链接库可以更为容易地将更新应用于各个模块,而不会影响该程序的其他部分。如一个大型网络游戏,如果把整个数百MB甚至数GB的游戏的代码都放在一个应用程序里,日后的修改工作将会十分费时,而如果把不同功能的代码分别放在数个动态链接库中,您无需重新生成或安装整个程序就可以应用更新。

本文主要分析了动态链接库和静态链接库之间的差异和在VC环境下如何去编写dll。本课题设计便是利用了dll的优势,让vs2008中的CImage可以在VC6.0中使用,这样在VC6.0中可以很方便地打开png图片。

关键词:动态链接库; 共享函数库; 进程

VC DLL Development Applications

ABSTRACT

The Dynamic Link Library (DLL) can be simply viewed as a repository that provides you with variables, functions, or classes that you can use directly. Static link libraries and dynamic link libraries are all shared code, and the use of dynamic link libraries makes it easier to apply updates to individual modules without affecting the rest of the program. Such as a large online game, if the entire hundreds of MB or even a few GB of the game code are placed in an application, the future changes will be very time-consuming work, and if the different functions of the code were placed on several dynamic links Library, you can apply updates without having to regenerate or install the entire program.

This paper mainly analyzes the advantages and disadvantages between dynamic link library and static link library, and how to write dll in VC environment. This topic is designed to take advantage of the dll, so vs2008 CImage can be used in VC6.0, so VC6.0 can be very easy to open the png picture.

Key words:hiding; encryption; c language

目 录

1 绪论 - 1 -

1.1 课题背景 - 1 -

1.2 研究目的和意义 - 1 -

1.3 实现目标 - 2 -

2 系统分析 - 3 -

2.1总体原则分析 - 3 -

2.1.1成熟性原则 - 3 -

2.1.2良好的可扩展性 - 3 -

2.1.3用户操作方便原则 - 3 -

2.2 总体需求分析 - 3 -

2.3 可行性分析 - 4 -

2.3.1技术可行性 - 4 -

2.3.2 经济可行性 - 4 -

2.3.3法律可行性 - 4 -

3 系统总体设计 - 5 -

3.1系统目标 - 5 -

3.2 DLL开发应用流程图 - 5 -

3.3系统的开发和运行环境 - 6 -

3.3.1开发环境 - 6 -

3.3.2运行环境 - 6 -

3.3.3开发工具和语言简介 - 6 -

3.4构建过程与运行结果 - 7 -

4 系统测试 - 18 -

4.1系统测试目的与意义 - 18 -

4.2测试过程 - 18 -

4.2.1文件路径测试 - 18 -

4.2.1功能测试 - 19 -

5 总结与展望 - 21 -

5.1 总结 - 21 -

5.2 展望 - 21 -

致 谢 - 22 -

参考文献 - 23 -

1 绪论

1.1 课题背景

先来叙述一下动态链接库(Dynamic Link Library,缩写为 DLL)的观点,你可以简单的把DLL看成一种货仓,它可以供应你一些可以直接拿来用的变量、函数或类。静态链接库与动态链接库都是共享代码的方法,若是采取静态链接库,则无论你愿不愿意,lib中的指令都被直接包罗在最终生成的EXE文件中了。但是若使用DLL,该DLL不必被包含在最终EXE文件中,EXE文件执行时可以“动态”地引用和卸载这个与EXE独立的DLL文件。静态链接库和动态链接库的另外一个区别在于静态链接库中不能再包含其他的动态链接库或者静态库,而在动态链接库中还可以再包含其他的动态或静态链接库。在Windows操作系统中使用DLL有很多优点,最主要的一点是多个应用程序、甚至是不同语言编写的应用程序可以共享一个DLL文件,真正实现了资源"共享",大大缩小了应用程序的执行代码,更加有效的利用了内存;使用DLL的另一个优点是DLL文件作为一个单独的程序模块,封装性、独立性好,在软 件需要升级的时候,开发人员只需要修改相应的DLL文件就可以了,而且,当DLL中的函数改变后,只要不是参数的改变,程序代码并不需要重新编译。这在编程时十分有用,大大提高了软件开发和维护的效率。

Visual C 的资源编辑器能以简单明了的形式直接编辑程序的用户界面,为所有的资源调配ID标识号。通过使用,程序员的编程工作便简化为用资源编辑器直观的设计界面,完善对话框类代码,在空的处理函数模板处填写响应用户操作的代码,这是一种比较完善的可视化编程方法。然而,使用Visual C ,开发人员必须真正能够去了解阅读和编写C 代码。Visual C 向导可以节约时间和提高精度,同时,程序员也必需能够了解向导产生的代码,同时还必须能够理解MFC库的构造和Windows操作系统的内部工作方式。

1.2 研究目的和意义

VC6.0具有很多优点,如:它具有程序框架的自动生成,灵活方便的类管理,代码编写和界面设计集成交互操作,可开发多种程序等等的优点,而且它也支持WinSock,这大大方面了网络编程。但是VC6.0也是有缺点的,如它支持直接打开bmp格式的图片,但是不支持png格式的,这渐渐无法满足用户的需求,因为BMP格式不支持压缩,这会造成文件非常大,而PNG支持高级无损耗压缩和透明色等,所以能让VC6.0支持打开BMP图片会对开发应用软件上提供很大的便利性。

1.3 实现目标

本系统主要需要达到的目标是通过VS2008开发BMP的动态链接库(dll)使VC6.0支持打开并显示png格式的图片,并且如果打开的bmp图片也支持显示在对话框上。

2 系统分析

2.1总体原则分析

整个DLL开发应用程序主要是以应用为核心,然后以操作简单、实用与方便这三大特点来贯穿着整个系统,该程序主要遵循的3个基本原则是成熟性、良好的可扩展性以及用户操作方便原则,以下是各原则的详细描述。

2.1.1成熟性原则

本系统主要采用国际上主流,成熟的体系架构VS2008和VC6.0来构建,并且这两个开发工具并不容易很快地淘汰,即使现在出现了vs2008,2015等更高的版本,VS2008也是可以向上兼容的。

2.1.2良好的可扩展性

一般的程序设计都是需要考虑到未来的用户需求,需要降低各个功能模块之间的耦合度。本系统提供了比较灵活的二次开发手段,能够在不影响本系统的情况下快速地增加新功能(增加DLL界面即可),同时可以很方便地对系统功能进行修改。

2.1.3用户操作方便原则

本系统提供统一的界面风格,功能模块方便设计得简洁明了,可以减少用户发生错误选择的可能性。

2.2 总体需求分析

一般一个程序的诞生必须是建立在一定的需求上的,一些大的应用程序开发者都是希望在增加新的功能模块能够不影响其他功能模块的正常使用而且可以不改变现使用的开发工具的情况下,将其他开发工具上面好的功能借鉴过来,使程序的开发可以更加得方便。基于这些基本的需求上,用 DLL来增加新的功能模块就比较合适了。

2.3 可行性分析

可行性分析对于一个系统的开发来说是非常有必要的,一个再好的预开发系统如果在某一方面是不可行的,那么这个系统便会在开发过程中夭折,即使开发出来该系统了使用情况也会很不乐观,所以在这需要对VS2008 DLL开发和VC6.0调用做出适当的分析,主要从技术可行性,经济可行性和法律可行性三大方面来分析。以下是具体分析:

2.3.1技术可行性

该程序设计由于需要个人完成,所以在技术方面需要针对自己做一个详细的技术可行性分析。开发本程序需要掌握VS 2008和VC6.0的使用,还要具有一定的C 语言编程能力,以上两个开发工具从功能和性能上完全都满足系统的要求,因此从技术方面讲开发此程序是可行的。

2.3.2 经济可行性

由于开发此程序所需的硬件(计算机)和软件环境(Visual Stdio 2008和Visual C 6.0 )在网上能够免费地下载到,所以从经济上看开发本系统是可行的,应该积极开发。

2.3.3法律可行性

该DLL开发应用程序完全是属于个人设计不会侵犯到他人的合法权益,从法律上看是可行的。

3 系统总体设计

3.1系统目标

通过加载DLL模块来增强程序的功能性这一方法在开发程序方便使用得越来越普遍了。因Visual C 6.0不支持直接打开png图片,所以本系统的目标是通过Visual Stdio2008创建DLL,使Visual C 6.0加载该DLL,然后在Visual C 6.0中可以直接操作BMP图片。

3.2 DLL开发应用流程图

图3-1 图片打开流程图

3.3系统的开发和运行环境

3.3.1开发环境

本系统是在CPU为Intel酷睿i5,内存为8G,硬盘为500G的计算机上开发。操作系统平台为Windows 7中文版,采用Visual stdio 2008和Visual c 6.0作为开发工具。C 作为开发语言。

3.3.2运行环境

(1)RAM:192MB以上。

(2)内存:256MB以上。

您需要先支付 80元 才能查看全部内容!立即支付

课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找,优先添加企业微信。