cdecl是c、c++缺省的参数传递方式
stdcall 是WinAPI的参数传递方式,你也可以在vc中声明为WINAPI
一般用VC写DLL给其他的程序用的话,一般用stdcall为好。

解决方案 »

  1.   

    转换表?
    一般都是兼用的,只要注意一下字符串的转换
    用pchar啦
    vc要注意BOOLEAN和boolean的区别.
      

  2.   

    C++和PASCAL的调用惯例(Call Convention)不相同,最好是在C++的函数申明前面加WINAPI或__stdcall,因为stdcall更符合不同语言间调用的标准(所有的Win32 API都是stdcall)。比如
    WINAPI ULONG PacketGetAdapterNames(PTSTR pStr,PULONG  BufferSize);

    WINAPI _declspec(dllexport) ULONG PacketGetAdapterNames(PTSTR pStr,PULONG  BufferSize);另外,由于stdcall定义了C++名字修饰规则,所以你还需要一个.DEF文件,文件内容如下:
    LIBRARY   MyDLL
    DESCRIPTION "Used by delphi."
    EXPORTS
       PacketGetAdapterNames   @1
       OtherFunc   @2当然,如果你不能修改C++代码的话,就只能使用Nick_he的办法了。