用CodeGear C++ Builder 2007编写dll程序(一)
来源:互联网 发布:java web开发实战pdf 编辑:程序博客网 时间:2024/06/05 04:05
首先,谢谢老妖的www.ccrun.com,提供了很多关于用BCB写dll的例子和文章。这个一个专业的BCB网站。
其次,因为一些原因,一直没有写过dll,一般都是静态库比较多,然后都一些现成的dll。就是没有写过,所以在这里借C++Builder 2007出来之际,写写。
进入正题:
建一个dll工程先 File->New->Other->C++ Builder Projects->Dynamic Link Library,如下图
然出会出现选择dll类型的对话框
确定后,如下:
第一步,我们在File1.c实现几个函数,如下定义
extern "C" __declspec(dllexport) int __stdcall GetCount();
extern "C" __declspec(dllexport) int __stdcall GetDouble(int v);
int __stdcall GetCount()
{
return 100;
}
int __stdcall GetDouble(int v)
{
return 2*v;
}
然后编译,就可以生成firstdll.dll和firstdll.lib,在这里,我们暂时使用动态装载的方式。
第二步,建一个VCL Forms Application工程。
在unit1.cpp中,我们增加如下代码
函数类型定义
typedef int __stdcall (* FGetCount )();
typedef int __stdcall (*FGetDouble)(int v);
在主窗体增加一个按钮,并产生单击事件,并加入如下代码
FGetCount GetCount ;
FGetDouble GetDouble;
HINSTANCE dd;
dd = LoadLibrary("firstdll.dll");
GetCount = (FGetCount )GetProcAddress(dd,"GetCount");
GetDouble= (FGetDouble)GetProcAddress(dd,"GetDouble");
ShowMessage(GetCount());
ShowMessage(GetDouble(100));
FreeLibrary(dd);
如果不记得函数名,可以用VC6的depends工具查看生成的dll。然后将firstdll.dll复制到test的工程debug目录,运行再按下这个按钮,会弹出"100"和“200”两个显示消息对话框。
这样就完成了第一个dll的编写。下一步,就是使用VCL的dll和静态库。(未完,请看下一节)
- 用CodeGear C++ Builder 2007编写dll程序(一)
- 用CodeGear C++ Builder 2007编写dll程序(二)
- CodeGear宣布最新的C++Builder版本 : C++Builder 2007
- CodeGear宣布最新的C++Builder版本 : C++Builder 2007
- CodeGear宣布最新的C++Builder版本 : C++Builder 2007
- CodeGear宣布最新的C++Builder版本 : C++Builder 2007
- CodeGear宣布最新的C++Builder版本 : C++Builder 2007
- CodeGear宣布最新的C++Builder版本 : C++Builder 2007
- CodeGear宣布最新的C++Builder版本 : C++Builder 2007
- CodeGear宣布最新的C++Builder版本 : C++Builder 2007
- 用 C++Builder 编写 Tray 程序
- 用c++builder编写的闹钟程序
- 【用C++Builder编写定时关机程序】
- 《CodeGear RAD Studio C++Builder 2007》企业破解版[ISO]
- CodeGear RoadMap fro C++Builder :"Barracuda"(Middle of 2008)
- 在C++Builder中编写发送图象文件程序(一)
- C++Builder 高手进阶 (一)编写弹出广告杀手
- C++Builder编写dll时如何添加共享数据段
- Red Hat Linux 9.0 内核升级大法(2.4.20-8 ~ 2.6.20)
- 如何替换eclipse的Splash
- 建立自己的影响
- MyEclipse最新Key生成器
- 数据库连接
- 用CodeGear C++ Builder 2007编写dll程序(一)
- Linux下常见操作问题及解决方案两例
- 利用CVS和MyEclipse打造安全源码管理
- 关于网站的SEO问题
- 强大的代码生成工具MyGeneration
- 软件测试-掌握有效测试软件的方法与技术之四
- Cookie跨域操作
- 电脑自动开机和关机的方法
- java面试