2010-05-13 85 views

回答

2

不,Delphi不生成lib文件。它对他们没有用处。

有办法create a lib file from a DLL。例如,如果您的Delphi版本附带,您可以使用implib

+0

谢谢,我也有人逗我,我可以使用Lib.exe来创建lib文件。 – 2010-05-16 09:10:34

2

使用在Delphi中创建(如反之亦然),C++的DLL是很容易的,但你需要遵循简单 规则。我假设您正在尝试在C++项目中使用Delphi DLL:

  1. 您必须使用相同的调用约定。默认情况下,Delphi使用寄存器约定(__fastcall以 C++术语)。所有的Windows DLL默认调用约定是__stdcall,所以首先修改 函数声明在Delphi源文件如下:

    功能 DoSomething的(X,Y:整数):整数; stdcall;

  2. 当您使用__stdcall时,C++希望DLL中的导出函数具有名称后跟后缀,指定传递给它的参数的总大小。因此,你的DoSomething例程应 成为DoSomething的@ 8,考虑到整数的大小是在.dpr文件4个字节,你的出口部分 应该是这样的:

    出口
    DoSomething的 'DoSomething的@ 8'

  3. 创建C++与函数声明头并将其包含到C++项目:

    INT __ declspec(dllimport的)__ STDCALL DoSomething的(INT X,INT Y);

  4. 如果您使用C++ Builder或Visual C++,请使用创建导入库(.lib)的implib实用程序。还有一个与VC++一起提供的lib工具,它可以做到这一点。然后链接到该.lib文件而不是.dll。

+0

10x为完整的解释! – 2010-08-11 07:39:24

相关问题