VC与Delphi之间动态链接库互相调用

2008-04-10 02:58:29来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

VCDelphi之间动态链接库互相调用

    Delphi 调用VCDLL

  1. VCDLL声名格式:

    Extern “C” void __declspec(dllexport) __stdcall ShowMess(HWND hwnd, char* mess);

    输出格式为:_ShowMess@8,“8”为函数参数字节数

    为了避免名称分裂,可采用以下方法解决:

    1.声明中不加__stdcall,采用VC默认格式__cdecl,但在Delphi中要注明调用格式为cdecl

    2.在VC工程中添加def文件,如:

    LIBRARY

    EXPORTS

    ShowMess @1

    DLL中输出函数名称不分裂。

  2. Delphi中调用格式:

    Procedure ShowMess (h:HWND; mess:PChar); Stdcall;{Cdecl;} external LibName;

    如无StdcallCdecl声名,Delphi默认Register(FastCall)调用格式。

  3. 注意DelphiVC的对齐格式不同,在VC中定义结构时要用以下格式:

    #pragma pack(4)

    //结构定义

    标签:

    版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
    特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:2001-06-18 Borland 正式发售 Delphi6,实现其支持Web服务的承诺

下一篇:有“背景”的窗体