怎样在C++Builder中创建使用DLL

下面我就介绍一下在BCB   (C++Builder下简称BCB)   中如何创建使用DLL和一些技巧。    
    一、创建:    
    使用BCB   File|NEW建立一个新的DLL工程,并保存好文件BCB,生成一个DLL的程序框    
  架。    
    1.DllEntryPoint函数为一个入口方法,如果使用者在DLL被系统初始化或者注销时    
  被调用,用来写入对DLL的初始化程序和卸载程序;参数:hinst用来指示DLL的基地址;    
  reason用来指示DLL的调用方式,用于区别多线程单线程对DLL的调用、创建、卸载DLL;    
     
    2.在程序中加入自己所要创建的DLL过程、函数;    
    3.用dllimport描述出口;    
    例程序如下:    
    #include    
    #pragma   hdrstop    
    extern   “C”   __declspec(dllexport)   int   test();    
    int   WINAPI   DllEntryPoint(HINSTANCE   hinst,   unsigned   long   reason,   void*)    
    {    
       return   1;    
    }    
    int   test()    
    {    
       return   3;    
    }    
    注意:动态链接库中调用过程、函数时有不同的CALL方式   __cdecl、   __pascal,   _    
  _fastcall、__stdcall,BCB中默认的方式为__cdecl(可不写),如果考虑兼容性可用时    
  __stdcall声明方法为:    
    extern   “C”   __declspec(dllexport)   int   __stdcall   test();    
    对于其中过程、函数也改为:    
    int   __stdcall   test()    
    二、使用DLL    
    在BCB中使用DLL有两种方法:    
    1.用静态调用法    
    首先需要在BCB的项目中加入输入接口库(import   library),打开工程项目,使用B    
  CB   View|Project   Manager打开项目列表,向项目中加入接口库(*.lib)。    
    其次在头文件中加入接口声明。    
    例程序如下:    
       //define   in   include   file    
    extern   “C”   __declspec(dllimport)   int   __cdecl   test();    
    //use   function   in   main   program    
    int   I;    
    I=test();    
    注意:    
    (1)动态链接库调用过程、函数时CALL方式   与创建时方式一样不写为__cdecl,其它    
  需要声明。    
    (2)BCB创建的DLL有对应的输入接口库(import   library),如只有DLL而无库时,可    
  用BCB的implib工具产生:implib   xxx.lib   xxx.dll;另外可用:tlib   xxx.lib,xxx.ls    
  t   产生DLL的内部函数列表,许多Windows的未公开技术就是用这种方法发现的。    
    2.动态调用法    
    动态调用法要用Windows   API   中的LoadLibrary()和GetProcAddress()来调入DLL库    
  ,指出库中函数位置,这种方法较常见。    
    例程序如下:    
       HINSTANCE   dd;    
       int   _stdcall   (*ddd)(void);    
       dd=LoadLibrary(“xxx.dll”);    
       ddd=GetProcAddress(dd,“test”);    
       Caption=IntToStr(ddd());    
    FreeLibrary(dd);    
    三、注意:    
    创建DLL时编译链接时注意设置Project   Options。    
    Packages标签:去除Builder   with   runtime   packages检查框。    
    Linker标签:去除Use   dynamic   RTL检查框。    
    否则创建的DLL需要Runtime   packages   or   Runtime   library。      
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: C Builder是一种集成开发环境(IDE),用于开发Windows平台的应用程序。C Builder提供了一个强大的图形用户界面(GUI)设计器和一个可视化编程环境,使开发者能够轻松地创建和构建应用程序。 DLL(动态链接库)是一种可执行文件,包含在多个应用程序的可重复使用的功能和代码。DLL文件可以在运行时被动态地加载和链接到应用程序,以提供特定的功能或服务。 因此,C Builder DLL demo是一个使用C Builder开发的示例程序,演示了如何使用DLL文件实现特定功能。这个示例程序可能包含一个使用C Builder构建的界面,用户可以通过界面与DLL文件进行交互。 C Builder DLL demo的目的是向开发者展示如何使用C Builder来创建一个使用DLL文件的程序。它可能包含了示例代码和文档,解释了如何加载、链接和调用DLL函数。 通过这个示例程序,开发者可以学习如何使用C Builder创建应用程序,并使用DLL文件来扩展和增强应用程序的功能。他们可以了解DLL的概念、使用DLL的优势以及如何与DLL进行交互。 总而言之,C Builder DLL demo是一个使用C Builder开发的示例程序,旨在向开发者展示如何使用DLL文件来实现特定功能,以帮助他们学习和掌握C Builder开发环境的使用。 ### 回答2: C Builder DLL Demo 是一个使用 C++ Builder 开发的演示程序,用来展示如何创建使用动态链接库(DLL)。 动态链接库是一种可重复使用的组件,可以被多个程序共享使用。C Builder 是一个用于快速开发 Windows 应用程序的集成开发环境,它提供了方便的工具和库来创建 DLL。 在 C Builder DLL Demo ,首先需要创建一个新的 DLL 项目。通过设置项目的属性,可以选择生成 DLL 的类型和平台。 在项目,开发者可以添加自定义的函数和类,用来实现特定的功能。这些函数和类可以在 DLL 进行封装,供其他应用程序调用。 在开发完成后,开发者可以编译和构建 DLL 项目。C Builder 提供了简单易用的构建工具,方便生成可执行的 DLL 文件。 在使用 DLL 的应用程序,需要先加载 DLL 文件。一般通过调用 LoadLibrary 函数来加载 DLL,并获取 DLL 导出的函数和类。 加载 DLL 后,应用程序可以使用 DLL 导出的函数和类来调用其的功能。通过调用函数或实例化类的对象,应用程序可以与 DLL 进行交互,并获取所需的功能。 C Builder DLL Demo 可以作为学习和理解使用 DLL 的示例程序。通过查看和分析代码,开发者可以了解如何创建使用 DLL,以及如何在不同的应用程序共享代码和功能。此外,开发者还可以根据自己的需求,对 Demo 的代码进行修改和扩展,以实现自己的功能。 总之,C Builder DLL Demo 是一个展示如何创建使用动态链接库的示例程序,通过它可以学习与理解 DLL 的概念和用法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值