gpt4 book ai didi

dll - 从 rebol 调用时从 dll 函数返回的指针

转载 作者:行者123 更新时间:2023-12-03 19:09:26 25 4
gpt4 key购买 nike

我正在尝试确定天气,我可以将 rebol 用于一些编程任务。我编写了一个小程序,它加载一个外部库并调用一个函数,该函数返回一些参数中的指针。当我运行该程序时,它会崩溃 rebol.exe。我希望有人可以帮助我。
dll函数如下:

void xxx swe_utc_time_zone(int32 iyear, int32 imonth, int32 iday, 
int32 ihour, int32 imin, double dsec, double dtimezone,
int32 *iyear_utc, int32 *imonth_utc, int32 *iday_utc,
int32 *ihour_utc, int32 *imin_utc, double *dsec_utc)

这是我的小测试程序:
rebol []
astrology-lib: load/library %/c/sweph/bin/swedll32.dll
swe-utc-time-zone: make routine! [
iyear [integer!]
imonth [integer!]
iday [integer!]
ihour [integer!]
iminute [integer!]
dsec [decimal!]
dtimezone [decimal!]
iyear-utc [char*]
imonth-utc [char*]
iday-utc [char*]
ihour-utc [char*]
iminute-utc [char*]
dsec-utc [char*]
] astrology-lib "_swe_utc_time_zone@60"
swe-utc-time-zone 2015 6 20 0 19 0 -4.5 none none none none none none

程序在我尝试调用该函数的最后一行崩溃。错误消息是“REBOL/View 系统已停止工作”

最佳答案

您必须提供至少与要从调用中返回的指针大小相同的内存。

所以,而不是 你应该使用用类似的东西初始化的词

iyear-utc: make struct! [
point [integer!]
] none

也许这些链接会给你更多帮助 adress , conversions , more conversions

关于dll - 从 rebol 调用时从 dll 函数返回的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30948895/

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