需要php调用非com的dll,根据网上找到的资料使用DynamicWrapper方式调用,用的DynaWrap.dll NT版,返回值是int时没有问题,但是返回string时返回数据是空的,想请问php代码该怎么写,vc的dll对方法的定义有啥特殊要求和写法吗?
现在的写法:$dw = new COM("DynamicWrapper"); 
$dw->Register("DT.dll", "add", "f=s", "i=ss", "r=s");
printf("%s\n",$dw->add("23234","10"));
输出值是空的。
最好附上vc的方法的定义,一个最简单的返回string的vc方法就可以。还有一款不同的DynaWrap,看到要使用GetBSTRAddr和GetProfileSection,但是在GetProfileSection时分配内存导致apache崩溃,怀疑是我的dll语法写的有问题,所以如果用这种方法的话,请帮忙给个最简单的返回string的vc代码例子。
麻烦请不要复制百度或者google出来的结果,我找3天了,百度和google的每一篇文章我都看过了。