bcb平台的C++dll的静态调用法和动态调用法的方法
来源:互联网 发布:普通网络主播收入 编辑:程序博客网 时间:2024/05/27 16:42
动态链接库(DLL)是Windows编程常遇到的编程方法,测试时,可能需要进行静态调用法和动态调用法进行测试。下面介绍一下在BCB (C++ Builder下简称BCB) 中如何创建使用DLL和一些技巧。
在BCB中使用DLL有两种方法: 1.用静态调用法 首先需要在BCB的项目中加入输入接口库(import library),打开工程项目,使用BCB View|Project Manager打开项目列表,向项目中加入接口库(*.lib)。 方法:将该文件拷贝到当前目录,使用 implib MyDll.lib MyDll.dll 生成,使用 $BCB path/Bin/implib.exe 生成 Lib 文件,加入到工程文件中 其次在头文件中加入接口声明。 例程序如下: //define in include file 注意: (1)动态链接库调用过程、函数时CALL方式 与创建时方式一样不写为__cdecl,其它需要声明。 (2)BCB创建的DLL有对应的输入接口库(import library),如只有DLL而无库时,可用BCB的implib工具产生:implib xxx.lib xxx.dll;另外可用:tlibxxx.lib,xxx.lst 产生DLL的内部函数列表,许多Windows的未公开技术就是用这种方法发现的。 dll中用到的变量也自己写,如enum VideoStandard { VIDEO_STANDARD_NTSC, VIDEO_STANDARD_PAL };就不用加vc的头文件了 2.动态调用法 动态调用法要用Windows API 中的LoadLibrary()和GetProcAddress()来调入DLL库,指出库中函数位置,这种方法较常见。 例程序如下: HINSTANCE dd; 需要使用vc的头文件。方法:#include "IDVP7010BDLL.h"(修改vc的头文件) 在project下的directory中添加,头文件的路径。 三、注意: 创建DLL时编译链接时注意设置Project Options。 Packages标签:去除Builder with runtime packages检查框。 Linker标签:去除Use dynamic RTL检查框。 否则创建的DLL需要Runtime packages or Runtime library。
extern "C" __declspec(dllimport) int __cdecl test();
//use function in main program
int I;
I=test();
int _stdcall (*ddd)(void);
dd=LoadLibrary("xxx.dll");
ddd=GetProcAddress(dd,"test");
Caption=IntToStr(ddd());
FreeLibrary(dd);
- bcb平台的C++dll的静态调用法和动态调用法的方法
- bcb平台的C++dll的静态调用法和动态调用法的方法
- vb.net静态动态调用c++dll的方法
- BCB中DLL的创建和调用
- BCB的EXE能否静态调用子目录下的DLL
- C#动态调用c++DLL的方法
- C#动态调用c++DLL的方法
- VS 2015 DLL的创建、静态调用和动态调用
- BCB(C++Builder或Embarcadero XE)中调用托管DLL的方法(C++调用C#的DLL)
- C++ 加载dll 及调用lib 和 dll的 方法 和 动态库DLL与静态库lib的区别
- BCB调用VC生成的DLL文件
- vc++调用bcb的dll(一)
- vc调用bcb的dll(二)
- DLL的静态调用
- vc调用动态链接库DLL和静态链接库Lib的四种方法
- windows系统下可执行程序调用lib静态库和dll动态库的方法
- dll动态库的静态调用和动态调用的分别举例
- C++ 调用Lib和Dll 的方法及 动态库DLL与静态库lib的区别
- linux实战命令
- 风云点评:分析称微软Silverlight短期内难超Adobe Flash
- cygwin中svn版本过低无法读取高版本的workcopy的问题
- NTLDR的原理
- Spring aop
- bcb平台的C++dll的静态调用法和动态调用法的方法
- 4KBytes Bin File Editor
- VC++的工程文件说明
- mc9s12dg128中断程序写法
- 关闭winxp的文件保护
- 使用dbghelp获取调用堆栈--release下的调试方法学
- 《COM本质论》第四章学习(1)
- hibernate3.2特性
- apache2.2下ssl配置