引用 | 编辑
mainchen
2002-10-29 15:52 |
楼主
▼ |
||
x0
此为转贴资料肖运勇 Delphi以其独特的面向控制项的开发方式、强大的资料库功能、快速的编译技术以及简单易学的编程特性,使得它自发布之日起即格外引人注目,许多程式师也因此将它作?首选的开发工具。然而,Delphi在科学计算、低端编程等方面的功能不如VC++。VC++功能强大、齐全,但是整个系统比较复杂、庞大,尤其对于初学者来说比较难学,其用户介面的开发远不如Delphi那样方便、快捷。那?,我们能否将两者的优点结合起来呢?答案是肯定的!具体做法是:将涉及到比较低级的操作、计算等方面的程式用VC++写成函数放在动态连结程式库中,而涉及到介面及与用户交互的编程则用Delphi来实现,最后只需在Delphi中调用VC++编写的动态连结程式库即可。 一、动态连结程式库简介 动态连结程式库(DLL,即 “Dynamic-Link Library”)是一个能够被应用程式和其他的DLL调用的过程和函数的集合体,它里面包含的是公共代码或资源。DLL是Windows的基石,所有的Win32 API函数都包含在DLL中。 使用DLL有许多优点: 1、一个DLL可以提供给不同的程式使用,如果有多个程式使用相同的DLL,也只需将DLL在记忆体中装载一次,这样就节省了记忆体开销。 2、DLL可以使我们的编程更加模组化,将功能相对独立的模组编成一个动态连结程式库,这样改动程式时不需将整个程式重新编译,只需重新编译所改动的模组。 3、使用了DLL元件包可以大大减小可执行文件的规模。 4、对于一个大型的、不断更新的应用程式,可以将许多重复的功能写成DLL,用主程序调用,这样既减少了开发的工作量,又提高了访问速度。 5、DLL独立于编程语言,大多数WINDOWS编程环境都允许主程序调用DLL中的函数。即可以用VC++、VB、PowerBuilder、Delphi、组合语言等建立DLL,然后在不同语言编制的应用程式中调用它。这样就给多人使用不同的编程语言开发专案提供了极大的方便。 二、在Delphi中调用VC++创建的动态连结程式库的实例 (一)实验环 .. 访客只能看到部份内容,免费 加入会员 x0
|
引用 | 编辑
AndersenC
2003-04-09 11:53 |
1楼
▲ |
大大辛苦你了,
小弟有点小小意见不知道对不对, 大家参考一下。 大大文章中提到制作 MFC DLL 的部分, 有点错误, VC++中若没有作设定, 预设的 Function Call Conversion 是 __cdecl, 所以 Export 的 API 会是 __cdecl 不是 __stdcall, 这样会造成 Delphi 的程式呼叫时, 参数传递造成错误, 故而必须在 MFC DLL 的程式宣告修正如下: extern "C" _declspec(dllexport) int __stdcall Min1(int x,int y,int z); extern "C" _declspec(dllexport) int __stdcall Max1(int x,int y,int z); 请多多指教 ^_^ ... x0 |