热情软件屋

 

如何实现Delphi与VC++之间的函数共享


编号:QA002454
建立日期: 2000年1月18日 最后修改日期:2000年1月18日
所属类别:

tzx:
    编程工具: Delphi,VC++
    操作系统: windows9x,NT
    问题:如何实现Delphi与VC++之间的函数共享,即PASCAL与C语言之间如何定义函数接口,如何调用。

回答:

    你可以使用VC++编写DLL供Delphi调用,或者反过来。直接链接.obj是不行的,因为两者的格式不同。
    VC++和Delphi都支持Pascal和C语言两种调用协定。
    如果使用Pascal协定,VC++的函数定义前要加_stdcall修饰(stdcall是Windows的标准调用方式,可以在所有支持API调用的语言中使用),并且需要在.DEF文件中的EXPORTS端中加入函数名。参考QA000072 "VB和VC混合编程"。在Delphi定义时要在函数名后加stdcall修饰(参见帮助)。
    如果使用C协定,VC++的函数定义前要加__declspec(dllexport)修饰,不需要再修改.DEF文件了。在Delphi定义时要在函数名后加cdecl修饰(参见帮助)。

此问题由李海回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio