function test(v1,v2:PCHAR):integer;
int test(LPSTR v1,LPSTR v2);

解决方案 »

  1.   

    在vc中用 
    extern "C" 
    int PASCAL test(LPCSTR v1,LPCSTR v2);声明。(注意要用DEF导出)
    DELPHI中的使用方法是:
    type TYPETEST=FUNCTION(PCHAR v1,PCHAR v2):integer ; stdcall;
    VAR test:TYPETEST;
    然后再LOADLIBRARY和GETPROCADDRESS即可。
    (个别语法错误,请自己判断)
      

  2.   

    Sunlet说得很有道理。
    用extern "C"输出函数可以阻止C++的名字分裂。用PASCALL建立标准的调用模式。
    Delphi现在默认使用寄存器传递参数,所以也要显示声明调用模式为stdcall。
      

  3.   

    不一定。
    extern "C" int PASCAL test(LPCSTR v1,LPCSTR v2);在编译时VC在lib中生成的是_test@8。但是delphi编译的时候找的是test,连接会出错的。