动态链接库的基本操作
使用ldd命令查找可执行文件的依赖关系

使用ldd命令查找可执行文件的依赖关系在Linux操作系统中,有时我们需要查看一个可执行文件所依赖的动态链接库文件,以确保程序能够正常运行。
这时候,我们可以使用ldd命令来查找可执行文件的依赖关系。
本文将详细介绍ldd命令的使用方法和示例。
一、ldd命令简介ldd(List Dynamic Dependencies)是一个用于打印可执行文件或共享库文件所依赖的动态链接库的命令。
它将输出可执行文件加载时所需的所有动态链接库,以及它们的路径。
通过使用ldd命令,我们可以轻松定位和分析程序运行时可能遇到的依赖问题。
二、ldd命令的语法ldd命令的基本语法如下:ldd [options] file三、ldd命令的选项ldd命令支持以下常用选项:-v:详细输出可执行文件加载时的详细过程,包括查找动态链接库的路径等信息。
-p:输出程序所依赖的动态链接库的完整路径。
-u:列出未使用的直接依赖库。
四、ldd命令的示例下面是几个使用ldd命令查找可执行文件依赖关系的示例:1. 查找可执行文件的依赖库:$ ldd /path/to/executable输出结果将显示可执行文件所依赖的动态链接库及其路径。
2. 查找共享库文件的依赖库:$ ldd /path/to/library.so输出结果将显示共享库文件所依赖的动态链接库及其路径。
3. 使用-v选项查看详细信息:$ ldd -v /path/to/executable此命令将打印出详细的加载信息,包括动态链接库的路径、版本等。
4. 使用-p选项显示依赖库的完整路径:$ ldd -p /path/to/executable此命令将显示可执行文件所依赖的动态链接库的完整路径。
5. 使用-u选项列出未使用的直接依赖库:$ ldd -u /path/to/executable此命令将列出可执行文件未使用的直接依赖库。
以上示例演示了ldd命令的基本用法,通过查找可执行文件的依赖关系,我们能够更好地分析和解决程序运行时遇到的问题。
DLL文件基本原理及修改方法

DLL文件基本原理及修改方法DLL文件基本原理及修改方法和通过改DLL来美化系统图标一、DLL文件常识DLL是Dynamic link Library的缩写,意为动态链接库。
在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中。
当我们执行某一个程序时,相应的DLL文件就会被调用。
一个应用程序可有多个DLL文件,一个DLL 文件也可能被几个应用程序所共用,这样的DLL文件被称为共享DLL文件。
DLL文件一般被存放在C:WindowsSystem目录下二、修改DLL文件的具体应用在系统的组策略和注册表中,我们可以修改一些键值来优化我们的系统,并加强操作系统的安全性。
可是,对于限制下载、禁止删除文件等功能,我们无法通过上述的操作来完成,这只有通过修改系统DLL文件来实现。
目前,我们通过修改系统的DLL文件,可以实现禁止删除文件、禁止IE下载、禁止IE另存为、禁止文件打开方式等功能。
三、系统中部分DLL文件的功能1、Browselc.dll IE所需要调用的库文件DLL结构雏形就是它了2、Shdoclc.dll 系统窗口及设置等,如删除文件、重命名3、Shell32.dll 系统窗口及设置等,如删除文件、重命名4、Cryptui.dll IE控件下载及提示对话框程序四、修改DLL文件的方法1、下载DLL文件修改工具EXESCOPE6.0-6.3或6.4工具2、获取Browselc.dll、Shdoclc.dll、Shell32.dll和Cryptui.dll这几个链接文件。
在找这几个文件时,最好将其他机器的硬盘,挂接在本机中,然后用本机的操作系统启动并复制这几个文件。
3、在修改DLL文件的时候,打开该键值,在右面的对话框中将所要修改的键值禁用即可,不要删除,以备日后恢复(如图)五、DLL文件修改秘籍1、禁止下载的修改方法:打开Shdoclc.dll修改资源--对话框---4416,将4416键值禁用即可。
dll 编程语言

dll 编程语言DLL(Dynamic Link Library)是一种用于Windows操作系统的可执行文件格式,它包含了一系列的函数和数据,可以被多个程序共享和重用。
相比于静态链接库,DLL具有更多的优势和灵活性。
本文将介绍DLL编程语言的基本概念、用途以及编写DLL的步骤和技巧。
一、DLL编程语言的基本概念DLL编程语言是一种用于开发动态链接库的语言,包括C、C++、Delphi等。
通过使用这些编程语言,开发者可以编写函数和数据,并将它们打包成DLL文件,供其他程序调用。
DLL文件可以包含一个或多个函数,其他程序可以通过调用这些函数来实现特定的功能。
二、DLL的用途DLL在Windows操作系统中有着广泛的应用。
它可以被多个程序共享和重用,从而提高了代码的复用性和开发效率。
DLL常用于以下几个方面:1. 提供共享的功能:某些功能需要被多个程序调用,例如文件操作、网络通信等。
将这些功能封装在DLL中,可以方便其他程序调用,避免重复开发。
2. 加速程序启动:某些功能模块较大且复杂,加载时间较长,通过将其放入DLL中,可以减少程序的启动时间,提高用户体验。
3. 更新维护方便:如果一个程序需要更新或修复bug,只需替换DLL文件,而不需要重新编译整个程序。
4. 插件开发:DLL可以作为插件开发的载体,通过加载不同的DLL,程序可以动态地扩展功能。
三、编写DLL的步骤和技巧编写DLL的步骤如下:1. 选择合适的编程语言:根据项目需求和开发者的熟悉程度,选择合适的编程语言进行开发。
2. 定义导出函数:在DLL中需要提供给其他程序调用的函数,需要使用特定的关键字进行声明和定义,以便其他程序可以正确地调用。
3. 编译生成DLL:将编写好的代码编译成DLL文件,在编译过程中需要指定导出函数和数据的方式,以便其他程序调用。
编写DLL时需要注意以下几点技巧:1. 尽量保持接口的稳定性:一旦DLL发布,就需要保持其接口的稳定性,避免频繁修改接口,以免影响其他程序的正常运行。
动态连接库

在应用程序中隐式链接DLL
在生成 .DLL 时,还时同生成了.lib 和 .h 文件。
可以利用 .lib 和 .h 文件来加载和调用动态链接库,而不使用LoadLibrary( )、 GetProcAddress( )函数。称为隐式链接。
注意,这里的Lib文件并非静态链接库,而是DLL的导入文件。此 文件中只含有告诉编译、连接器如何导入DLL及其函数的信息,无实 际可执行代码。
(一)静态链接库调用方法 前提:
静态链接库文件: ×××.lib;头文件×××.h;
调用方法:
将静态链接库 ×××.lib加入到自己的项目中; 将头文件×××.h包含到自己的源文件中 在源文件中调用库函数
应用举例
现有JPEG图像解码静态链接库文件jpeglib.lib(由Thomas G. Lane.提供)。同 时有相应的头文件jpeglib.h。
(5)调用库中的函数,实现对JPEG文件的解压。 注:在Jpaglib.h文件中,可由外部调用的函数前均冠有“EXTERN”
(二)动态链接库调用方法
可以采用显式链接和隐式链接。
前提:
显式链接文件: ×××.dll 隐式链接文件: ×××.lib;头文件×××.h; ×××.dll 在应用程序中显式链接DLL
为什么要使用DLL?
多人协作 源代码代码保护 代码共享
多个应用程序可共享同一个DLL提供的函数。包括磁盘级共享和内存级的共享。
跨语言平台
DLL是可执行的二进制机器代码。不同的开发语言中,只要按照相应的调用规则,就能调用同一 个DLL提供的函数。
二、在应用程序中调用动态链接库
静态链接库与动态链接库调用
for(DWORD i=0;i<10;i++){ _outp(0x70,i); Time[i]=_inp(0x71);
comres.dll

comres.dll 使用指南什么是 comres.dll?comres.dll 是一个动态链接库文件,它是 Windows 操作系统中的一部分。
具体来说,comres.dll 是 COM (Component Object Model) 组件的资源文件,它包含了用于 COM 组件的各种资源,包括图标、位图、字符串等等。
comres.dll 的功能comres.dll 提供了一些重要的功能,它主要用于支持和管理 COM 组件。
以下是一些主要的功能:1.提供图标和位图资源:COM 组件通常需要图标和位图来表示其在系统中的图标或界面。
comres.dll 中包含了这些图标和位图资源,供 COM 组件使用。
2.提供字符串资源:COM 组件可能需要显示一些提示信息、错误消息等等,comres.dll 中包含了这些字符串资源,供 COM 组件方便地使用。
3.提供其他资源支持:除了图标、位图和字符串资源外,comres.dll 还可能包含其他类型的资源,如菜单、对话框等等,这些资源可以帮助 COM 组件实现更丰富的界面和功能。
如何使用 comres.dll?要使用 comres.dll,您需要了解一些基本的步骤和指南。
以下是一些使用comres.dll 的常见方法:1.在 COM 组件中引用 comres.dll:在开发 COM 组件时,通常需要引用comres.dll。
在您的开发环境中,根据具体的开发语言和工具,可以找到如何引用 comres.dll 的相关文档和教程。
2.使用图标和位图资源:一旦您的 COM 组件引用了 comres.dll,您可以使用其中的图标和位图资源。
您可以通过指定资源 ID 或名称来访问这些资源,并在您的 COM 组件中进行相应的显示和使用。
3.使用字符串资源:comres.dll 中的字符串资源对于 COM 组件的本地化和用户界面非常重要。
您可以通过指定资源 ID 或名称来访问这些字符串资源,并在您的 COM 组件中进行相应的显示和使用。
mingw基本命令

mingw基本命令Mingw基本命令Mingw是一套用于Windows操作系统上的开发工具链,它允许开发者在Windows环境下编译和构建Unix-like系统的应用程序。
本文将介绍Mingw的基本命令,以帮助读者更好地使用该工具。
1. gcc命令gcc是Mingw提供的编译器,用于将C/C++源代码编译成可执行文件。
常用的gcc命令选项包括:- -c:只编译源文件,生成目标文件(.o或.obj文件),不进行链接。
- -o:指定生成的可执行文件的名称。
- -I:指定头文件的搜索路径。
- -L:指定库文件的搜索路径。
- -l:链接指定的库文件。
2. g++命令g++是Mingw提供的C++编译器,用法与gcc类似。
通过g++命令,可以将C++源代码编译成可执行文件。
3. make命令make是一个常用的自动化构建工具,可根据Makefile文件中的规则自动编译和链接源代码。
在Mingw中,make命令通常与gcc 或g++命令配合使用。
使用make命令可以简化编译和构建过程,提高开发效率。
4. ar命令ar命令用于创建、修改和提取静态库。
在Mingw中,静态库的文件扩展名通常为.a。
通过ar命令,可以将多个目标文件打包成一个静态库文件,供其他程序使用。
5. dlltool命令dlltool命令用于创建和管理动态链接库(DLL)。
通过dlltool命令,可以从目标文件中提取导出函数,并生成一个.def文件。
然后,可以使用这个.def文件和gcc命令将目标文件编译成DLL。
6. objdump命令objdump命令用于反汇编目标文件或可执行文件,并显示其汇编代码。
通过objdump命令,可以查看程序的汇编实现,以便进行调试和优化。
7. gdb命令gdb是一个强大的调试器,可用于调试C和C++程序。
在Mingw 中,使用gdb命令可以对可执行文件进行调试,查看变量的值、执行流程等。
8. strip命令strip命令用于去除可执行文件或目标文件中的符号表和调试信息,以减小文件大小。
dll加载原理
dll加载原理DLL加载原理是指动态链接库(DLL,Dynamic Link Library)在程序运行过程中被加载并使用的过程。
下面将介绍DLL加载的基本原理。
1. 搜寻和定位DLL文件:在程序运行时,系统会按照一定的规则搜索并定位需要加载的DLL文件。
这个规则包括在程序所在目录、系统目录、Windows目录和用户自定义路径等位置搜索。
2. 加载DLL文件:一旦DLL文件被定位,系统会根据指定的路径加载DLL文件。
加载过程包括将DLL文件的引用数据加载到内存中,以及执行相应的初始化代码。
3. 解析DLL文件的导入项:DLL文件通常会依赖其他DLL文件,这些依赖关系通过导入项列表进行声明。
加载DLL文件时,系统会解析并加载所依赖的DLL文件,以满足程序的需要。
4. 分配并初始化内存空间:DLL文件在加载后会被映射到进程的内存空间中。
系统会为DLL文件分配相应的内存空间,并在内存中创建相关的数据结构。
5. 调用DLL中的函数和变量:一旦DLL文件加载成功,程序就可以通过函数指针或通过函数名字符串调用DLL中的函数和变量。
调用过程中,系统会通过符号解析找到函数的入口点,并执行相应的操作。
6. 释放DLL文件:在程序运行结束或不再需要DLL文件时,系统会负责卸载并释放DLL文件。
卸载过程包括释放内存空间、解除函数绑定关系以及执行必要的资源清理操作。
总结:DLL加载原理涉及了搜寻定位、加载、解析导入项、分配初始化空间、调用函数/变量和释放等过程。
通过这些步骤,程序能够有效地利用并调用DLL文件中的功能,实现模块化和动态性的设计。
风力发电设备联合仿真系统使用手册说明书
风力发电设备联合仿真系统使用手册沈阳华人风电科技有限公司二零一六年一月未经沈阳华人风电科技有限公司事先书面许可,本手册的任何部分不得以任何形式进行增删、改编、节选、翻译、翻印或仿制。
本手册的全部内容沈阳华人风电科技有限公司可能随时加以更正,此类更正将不另行通知。
具体应用以软件实际功能为准©本手册的著作权属于沈阳华人风电科技有限公司版权所有•翻制必究2016年1月第9次印刷本书中涉及的其他产品商标为相应公司所有。
在中华人民共和国印制。
目录目录 (3)第1章系统概述 (4)1.1软件简介 (4)1.2主要功能 (4)1.3安装指南 (5)1.3.1软件安装 (5)1.3.2软件卸载 (9)1.3.3加密锁功能简介与驱动安装 (10)1.3.4辅助插件的安装 (10)1.3.5 安装 (14)1.3.6动态链接库文件使用 (16)第2章使用说明 (19)2.1仿真控制 (20)2.1.1 “启动”/“关闭”仿真程序 (20)2.1.2仿真进程控制 (20)2.1.3显示比例控制 (21)2.1.4“暂停”/“继续”仿真程序 (21)2.1.5电网全部“导通”/“断开” (21)2.1.6批量“启动”/“关闭”机组 (21)2.1.7仿真数据初始化 (22)2.2电场监控 (26)2.2.1风场环境仿真 (26)2.2.2风电场电气系统仿真 (29)2.2.3机组变流参数仿真 (37)2.2.4风电数据采集与分析 (38)2.3设备监控 (43)2.3.1机组发电系统仿真 (43)2.3.2机舱温度场仿真 (45)2.3.3风电机组安全监控 (47)2.3.4机组传动系统仿真 (49)2.4运维培训 (50)2.4.1风电机组定检培训 (50)2.4.2电气设备操作培训 (56)第1章系统概述1.1软件简介风力发电设备联合仿真系统是一款可实现风电场及风力发电设备全范围仿真的大型软件系统,囊括了风电机组及其风轮系统、发电系统、传动系统、控制系统、安全链等子系统的数学模型,并可实现各子系统运行的协调控制。
编译链接执行实验报告(3篇)
第1篇一、实验目的1. 理解编译、链接和执行的基本概念和过程。
2. 掌握使用编译器、链接器和执行器完成程序编译、链接和执行的基本操作。
3. 学习调试程序,解决编译、链接和执行过程中出现的问题。
二、实验环境1. 操作系统:Windows 102. 编译器:Microsoft Visual Studio 20193. 链接器:Microsoft Visual Studio 20194. 执行器:Windows 10自带三、实验内容1. 编译程序2. 链接程序3. 执行程序4. 调试程序四、实验步骤1. 编译程序(1)创建一个名为“HelloWorld.c”的源文件,内容如下:```cinclude <stdio.h>int main() {printf("Hello, World!\n");return 0;}```(2)打开Microsoft Visual Studio 2019,创建一个控制台应用程序项目。
(3)将“HelloWorld.c”文件添加到项目中。
(4)在项目属性中设置编译器选项,选择C/C++ -> General -> Additional Include Directories,添加源文件所在的目录。
(5)点击“生成”按钮,编译程序。
2. 链接程序(1)在Microsoft Visual Studio 2019中,点击“生成”按钮,生成可执行文件。
(2)查看生成的可执行文件,路径通常在项目目录下的“Debug”或“Release”文件夹中。
3. 执行程序(1)双击生成的可执行文件,或在命令行中运行。
(2)查看输出结果,应为“Hello, World!”。
4. 调试程序(1)在Microsoft Visual Studio 2019中,点击“调试”按钮。
(2)程序进入调试模式,可以设置断点、观察变量等。
(3)运行程序,观察程序执行过程,分析问题原因。
binlog.dll的用法
binlog.dll的用法Binlog.dll是一个动态链接库,它是在Windows操作系统上实现二进制日志的一种工具。
它用来记录所有数据库服务器上的更改,使得用户可以随时恢复数据库服务器到以前的状态,或者在数据丢失时快速恢复丢失的数据。
本文将详细介绍Binlog.dll的用法,包括它的特性、安装过程和相关的应用场景。
Binlog.dll是MySQL数据库服务器用来记录二进制日志的基本工具,它主要有以下的特性:1. 提供高效的记录机制:二进制日志的记录方式很高效,能够快速的记录所有的更改,而不会影响数据库的性能。
2. 提供数据恢复的能力:在数据丢失或者误操作后,Binlog.dll能够快速的恢复文件,并且能够将文件恢复到之前的状态。
3. 支持多种备份方案:用户可以根据自己的需要,使用不同的备份方案来进行备份,例如增量备份、全量备份等。
4. 轻松使用:用户可以很容易的使用Binlog.dll来恢复数据和进行备份,这使得用户在进行数据恢复和备份时,能够更加轻松愉快的进行操作。
二、安装过程在使用Binlog.dll之前,需要先进行安装。
安装过程不是很复杂,你只需要按照以下步骤进行操作即可:1. 下载Binlog.dll文件:您可以在官方网站上下载Binlog.dll文件,或者从其他可信的网站下载该文件。
2. 将文件放到MySQL目录下:将下载的Binlog.dll文件复制到原安装MySQL的目录下,比如:D:/mysql/bin下。
3. 修改MySQL配置文件:进入主MySQL目录,找到my.ini或f文件,按照以下格式添加配置信息:[mysqld]log-bin=binlogbinlog-format=MIXEDserver-id=1其中,log-bin是指定二进制日志文件名的前缀,binlog-format是指定记录格式。
最后一个参数server-id是用来唯一标记MySQL服务的。
三、应用场景Binlog.dll的应用场景非常广泛,以下是一些常见的应用场景:2. 数据库升级:当用户需要升级自己的数据库版本时,Binlog.dll可以帮助用户快速恢复到之前的状态,避免数据丢失。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
动态链接库的基本操作(Visual Studio)使用动态链接代替静态链接有若干优点。
DLL 节省内存,减少交换操作,节省磁盘空间,更易于升级,提供售后支持,提供扩展MFC 库类的机制,支持多语言程序,并使国际版本的创建轻松完成。
在本演练中,您将创建一个动态链接库(DLL),其中包含可供其他应用程序使用的有用例程。
使用DLL 是一种重用代码的绝佳方式。
您不必在自己创建的每个程序中重新实现这些例程,而只需对这些例程编写一次,然后从需要该功能的应用程序引用它们即可。
我们将创建的第一种类型的库是动态链接库(DLL)。
使用DLL 是一种重用代码的绝佳方式。
您不必在自己创建的每个程序中重新实现同一例程,而只需对这些例程编写一次,然后从需要该功能的应用程序引用它们即可。
本演练涵盖以下内容:∙创建新的动态链接库(DLL) 项目。
∙向动态链接库添加类。
∙创建引用动态链接库的应用程序。
∙在控制台应用程序中使用类库的功能。
∙运行应用程序。
先行条件创建新的动态链接库(DLL) 项目1.从“文件”菜单中,选择“新建”,然后选择“项目…”。
2.在“项目类型”窗格中,选择“Visual C++”下的“Win32”。
3.在“模板”窗格中,选择“Win32 控制台应用程序”。
4.为项目选择一个名称,如“MathFuncsDll”,并将其键入“名称”字段。
为解决方案选择一个名称,如“DynamicLibrary”,并将其键入“解决方案名称”字段。
5.单击“确定”启动Win32 应用程序向导。
在“Win32 应用程序向导”对话框的“概述”页中,单击“下一步”。
6.在“Win32 应用程序向导”中的“应用程序设置”页中,选择“应用程序类型”下的“DLL”(如果可用),或者选择“控制台应用程序”(如果“DLL”不可用)。
某些版本的Visual Studio 不支持通过使用向导创建DLL 项目。
您可以稍后对此进行更改,以将项目编译为DLL。
7.在“Win32 应用程序向导”的“应用程序设置”页中,选择“附加选项”下的“空项目”。
8.单击“完成”创建项目。
向动态链接库添加类1.若要为新类创建头文件,请从“项目”菜单中选择“添加新项…”。
将显示“添加新项”对话框。
在“类别”窗格中,选择“Visual C++”下的“代码”。
在“模板”窗格中选择“头文件(.h)”。
为头文件选择一个名称,如“MathFuncsDll.h”,并单击“添加”。
将显示一个空白文件。
2.添加一个名为“MyMathFuncs”的简单类,以执行常见的算术运算,如加、减、乘和除。
代码应与以下内容类似:复制// MathFuncsDll.hnamespace MathFuncs{class MyMathFuncs{public:// Returns a + bstatic __declspec(dllexport) double Add(double a, double b);// Returns a - bstatic __declspec(dllexport) double Subtract(double a, double b);// Returns a * bstatic __declspec(dllexport) double Multiply(double a, double b);// Returns a / b// Throws DivideByZeroException if b is 0static __declspec(dllexport) double Divide(double a, double b);};}3.请注意此代码方法声明中的__declspec(dllexport) 修饰符。
这些修饰符使DLL 能够导出该方法以供其他应用程序使用。
有关更多信息,请参见dllexport, dllimport。
4.若要为新类创建源文件,请从“项目”菜单中选择“添加新项…”。
将显示“添加新项”对话框。
在“类别”窗格中,选择“Visual C++”下的“代码”。
在“模板”窗格中,选择“C++ 文件(.cpp)”。
为源文件选择一个名称,如“MathFuncsDll.cpp”,并单击“添加”。
将显示一个空白文件。
5.在源文件中实现“MyMathFuncs”的功能。
代码应与以下内容类似:复制// MathFuncsDll.cpp// compile with: /EHsc /LD#include "MathFuncsDll.h"#include <stdexcept>//标准异常类using namespace std;namespace MathFuncs{double MyMathFuncs::Add(double a, double b) {return a + b;}double MyMathFuncs::Subtract(double a, double b){return a - b;}double MyMathFuncs::Multiply(double a, double b){return a * b;}double MyMathFuncs::Divide(double a, double b){if (b == 0){throw new invalid_argument("b cannot be zero!");}return a / b;}}6.若要将项目生成为DLL,请从“项目”菜单中选择“MathFuncsDll,再选择“属性…”。
在左窗格中,选择“配置属性”下的“常规”。
在右窗格中,将“配置类型”更改为“动态库(.dll)”。
单击“确定”保存更改。
说明:7.编译该动态链接库,方法是选择“生成”菜单中的“生成解决方案”。
这样就创建了一个可供其他程序使用的DLL。
有关DLL 的详细信息,请参见DLL。
创建引用动态链接库的应用程序1.若要创建将引用并使用刚创建的动态链接库的应用程序,请从“文件”菜单中选择“新建”,然后选择“项目...”。
2.在“项目类型”窗格中,选择“Visual C++”下的“Win32”。
3.在“模板”窗格中,选择“Win32 控制台应用程序”。
4.为项目选择一个名称(如“MyExecRefsDll”),并将其键入“名称”字段。
从“解决方案”旁边的下拉列表中选择“添入解决方案”。
这会将新项目添加到该动态链接库所属的同一个解决方案中。
5.单击“确定”启动“Win32 应用程序向导”。
在“Win32 应用程序向导”对话框的“概述”页中,单击“下一步”。
6.在“Win32 应用程序向导”的“应用程序设置”页中,选择“应用程序类型”下的“控制台应用程序”。
7.在“Win32 应用程序向导”的“应用程序设置”页中,清除“附加选项”下的“预编译头”复选框。
8.按“完成”创建项目。
在控制台应用程序中使用类库的功能1.创建新的控制台应用程序后,将为您创建一个空程序。
源文件的名称与您在前面为项目选择的名称相同。
在本示例中,名为“MyExecRefsDll.cpp”。
2.若要使用在动态链接库中创建的算术例程,则必须引用该库。
为此,请选择“项目”菜单中的“引用…”。
在“属性页”对话框中展开“通用属性”节点,选择“引用”,然后选择“添加新引用...”按钮。
有关“引用...”对话框的更多信息,请参见“<Projectname> 属性页”对话框 ->“通用属性”->“框架和引用”。
3.显示“添加引用”对话框。
此对话框列出了所有可以引用的库。
“项目”选项卡列出了当前解决方案中的所有项目,以及它们包含的所有库。
在“项目”选项卡中,选择“MathFuncsDll”。
然后单击“确定”。
有关“添加引用”对话框的更多信息,请参见“添加引用”对话框。
4.若要引用动态链接库的头文件,必须修改包含目录路径。
为此,请在“属性页”对话框中展开“配置属性”节点,然后展开“C/C++”节点,并选择“常规”。
在“附加包含目录”旁边,键入“MathFuncsDll.h”头文件所在位置的路径。
5.可执行文件仅在运行时加载动态链接库。
必须告诉系统在哪里查找“MathFuncsDll.dll”。
您可以通过使用PATH环境变量做到这一点。
为此,请在“属性页”对话框中展开“配置属性”节点,并选择“调试”。
在“环境”旁边键入以下内容:PATH=<MathFuncsDll.dll 文件的路径>,其中<MathFuncsDll.dll 文件的路径> 应替换为“MathFuncsDll.dll”的实际位置。
单击“确定”保存所有更改。
说明:6.现在,可以在应用程序中使用“MyMathFuncs”类了。
使用以下代码替换“MyExecRefsDll.cpp”的内容:复制// MyExecRefsDll.cpp// compile with: /EHsc /link MathFuncsDll.lib#include <iostream>#include "MathFuncsDll.h"using namespace std;int main(){double a = 7.4;int b = 99;cout << "a + b = " <<MathFuncs::MyMathFuncs::Add(a, b) << endl;cout << "a - b = " <<MathFuncs::MyMathFuncs::Subtract(a, b) << endl;cout << "a * b = " <<MathFuncs::MyMathFuncs::Multiply(a, b) << endl;cout << "a / b = " <<MathFuncs::MyMathFuncs::Divide(a, b) << endl;return 0;}7.通过从“生成”菜单中选择“生成解决方案”,生成可执行文件。
运行应用程序1.确保选择“MyExecRefsDll”作为默认项目。
在“解决方案资源管理器”中,选择“MyExecRefsDll”,然后选择“项目”菜单中的“设为启动项目”。
2.若要运行项目,请选择“调试”菜单中的“开始执行(不调试)”。
输出应该与下面的内容类似:复制a +b = 106.4a -b = -91.6a *b = 732.6a /b = 0.0747475。