gpt4 book ai didi

c - 如何处理VFP中调用基于c的DLL的双指针

转载 作者:太空宇宙 更新时间:2023-11-04 03:57:28 25 4
gpt4 key购买 nike

VFP中如何处理调用基于c的DLL的双指针

我有一个c语言的DLL,它有如下给出的双指针参数

int fun_foo(char *str1,char **str2)  //str2 has some info. when returns from function

在 FoxPro 中,我试图从它的 DLL 中调用这个函数。我怎么能这样调用它;我试过:

DECLARE INT fun_foo IN sample.dll STRING,STRING @

我发现 char* 可以通过字符串参数传递,但我对双指针 string@ 不起作用有困难。任何人都可以提供线索如何在 Visual foxpro 中为 c 函数(DLL)中的双指针参数传递参数

我从这个双指针中的函数得到的数据对我来说很重要

我正在使用 Visual FoxPro 9.0 SP1,DLL 是在 Visual C++ 2005 上制作的 32 位

提前致谢

最佳答案

简答:

使用vfp2c32.fll

http://vfpx.codeplex.com/releases/view/71594

来自帮助文件:

读指针从指定地址检索指针。

长答案:

如果你只想用 VFP 做它,检查 SYS(2600)、BINTOC、CTOBIN 和 strncpy(最后一个在 c 运行时中,你无论如何都需要运行 VFP 可执行文件。)

DECLARE INTEGER fun_foo IN sample.dll ;
STRING str1,;
INTEGER @pointer

m.str1 = "sometext"
m.pointer = 0

m.result = fun_foo(m.str2, @m.pointer)

现在那个指针里有什么?你不说。以 NUL 结尾的字符串?使用 strncpy。一个 INT 或一些固定长度的字符串?使用系统(2600)

关于c - 如何处理VFP中调用基于c的DLL的双指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15041322/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com