吐血求救:VC中的int型数相当于Delphi中的什么类型? 是不是压栈的问题。C的缺省压栈是cdecl,需要也在函数声明中指出。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 声明不对,delphi的 var n:Integer 在c++里面对应的是引用类型而不是指针类型,就是说VC的声明应该是 char *start(int& n);n 为 int类型的引用,而不是 int* n另外楼上的那位说的问题也注意一下,虽然只有一个参数,但是C和Pascal在堆栈处理上还有其他的差别(除了参数压栈的区别),所以最好用stdcall,呵呵...(不知道我 “引用” 这个术语用的对不对,呵呵,好久没有用C++了啊) 声明我觉得没声明问题,Delphi确实把int *n看成var n:Integer。这个不矛盾。这样声明:function start(var n:Integer):Pchar;cdecl;external'动态连接库名';我觉得最好你VC的函数声明成stdcall,这样调用更好些。 非常感谢这位叫chechy的朋友,我成功了! Delphi IntraWeb 数据库应用 汉字只能保存两个 function 返回值怎么设为动态数组? 如何实现编辑框中按回车实现Tab键功能? 如何判断在另外一个窗体上的Button是否按下? 如何更新dbchart图表 我装了第三方控件,为什么用不来? 问题:无法向注册表写入项,请各位帮帮忙! 为什么BringToFront有时不能真正把窗口切换到最前面? Label的caption中放长箭头???? 为什么用idhttp取到的网站,用utf8toAnsi转换后,还是有些特殊字符乱码 delphi源码中有BUG,高手请进 要学delphi......(88分酬谢)
说VC的声明应该是
char *start(int& n);
n 为 int类型的引用,而不是 int* n另外楼上的那位说的问题也注意一下,虽然只有一个参数,但是C和Pascal在堆栈处理上还有其他
的差别(除了参数压栈的区别),所以最好用stdcall,呵呵...(不知道我 “引用” 这个术语用的对不对,呵呵,好久没有用C++了啊)
这样声明:
function start(var n:Integer):Pchar;cdecl;external'动态连接库名';
我觉得最好你VC的函数声明成stdcall,这样调用更好些。