发信人: lofe ()感激生活(), 信区: BorlandDev
标 题: 动态链结函式库(Dynamic Linked Library)(4)
发信站: 哈工大紫丁香 (2000年08月30日19:52:34 星期三), 站内信件
在C++Builder中使用DLL
再来我要告诉你如何使用动态链结函式库。我们以前面所产生的DLL为例。使用DLL有
两种方式,分别为明确呼叫及不明确呼叫。
我先说明不明确呼叫的使用方式。不明确呼叫指的是,在程式中并没有一行程式是用
来载入DLL,而是利用链结一个记载输入函式的函式库档案(LIB),来进行链结,如
此系统会自动将该DLL载入,同时在使用完毕後将其释放,不必由使用者(也就是呼叫
它的函式)来进行载入及释放的动作。
首先必须产生一个LIB档,你可以利用C++Builder程式目录内的IMPLIB.EXE来产生该档
案,切忌勿使用Visual C++ 的IMPLIB.EXE,因为Microsoft所使用的格式是COFF格式
的LIB档,而Borland所使用的格式是OMF格式的LIB档。(同样地,若是你的LIB档是要
给Visual C++ 链结用的,那就要使用它所附的IMPLIB.EXE,在使用时不可不察)。因
此我们可用以下指令产生DLLSAMP.LIB档。
IMPLIB DLLSAMP.LIB DLLSAMP.DLL
如此你就可以得到供程式链结用DLLSAMP.LIB档了。
接着我们来撰写使用该DLL的范例程式。这个程式相当简单,我只在表格中放置一个
Button,然後撰写该Button的OnClick事件处理函式,使其呼叫ShowImage函式即可。
有一点要注意的是,你必须将先前产生的DLLSAMP.LIB加入此专案中,利用
【Project/Add to Project】选择LIB型态档案,即可将其加入。
最後我们就可以链结程式,以下为其执行结果。
[Image] (略)
图四 执行结果。
--
真正的程序员用C, 聪明的程序员用什么?——Inprise工具!
欢迎光临BorlandDev版,探讨Inprise编程
独孤九剑的最高境界是不拿剑
编程的最高境界是无所谓工具
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: malacs.hit.edu.cn]
※ 修改:·lofe 於 08月30日19:54:26 修改本文·[FROM: malacs.hit.edu.cn]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.210毫秒