gpt4 book ai didi

c - Erlang:找不到指定的模块

转载 作者:可可西里 更新时间:2023-11-01 10:30:42 26 4
gpt4 key购买 nike

我有一个最低限度的 Erlang 端口驱动程序:

erl_driver_bridge.c -> erl_driver_bridge.dll

#define __WIN32__

#include "erl_driver.h"

typedef struct {
ErlDrvPort port;
} erl_driver_bridge_data;

static ErlDrvData bridge_start(ErlDrvPort port, char *buff) {
erl_driver_bridge_data* d =
(erl_driver_bridge_data*)driver_alloc(sizeof(erl_driver_bridge_data));
d->port = port;
return (ErlDrvData)d;
}

static void bridge_stop(ErlDrvData data) {
driver_free((char*)data);
}

static void bridge_output(ErlDrvData data, char *buff, int bufflen) {
erl_driver_bridge_data* d = (erl_driver_bridge_data*)data;
}

ErlDrvEntry erl_driver_bridge_entry = {
NULL, /* F_PTR init, N/A */
bridge_start, /* L_PTR start, called when port is opened */
bridge_stop, /* F_PTR stop, called when port is closed */
bridge_output, /* F_PTR output, called when erlang has sent */
NULL, /* F_PTR ready_input */
NULL, /* F_PTR ready_output */
"erl_driver_bridge", /* char *driver_name, the argument to open_port */
NULL, /* F_PTR finish, called when unloaded */
NULL, /* Not used */
NULL, /* F_PTR control, port_command callback */
NULL, /* F_PTR timeout, reserved */
NULL, /* F_PTR outputv, reserved */
NULL, /* F_PTR ready_async */
NULL, /* F_PTR flush */
NULL, /* F_PTR call */
NULL, /* F_PTR event */
ERL_DRV_EXTENDED_MARKER,
ERL_DRV_EXTENDED_MAJOR_VERSION,
ERL_DRV_EXTENDED_MINOR_VERSION,
0,
NULL, /* Reserved -- Used by emulator internally */
NULL, /* F_PTR process_exit */
};

DRIVER_INIT(erl_driver_bridge) {
return &erl_driver_bridge_entry;
}

然后我尝试在 Erlang 中加载它:

case erl_ddll:load_driver(".", erl_driver_bridge) of
ok -> ok;
{error, Error} -> erl_ddll:format_error(Error)
end.

产生:

The specified module could not be found.

我已经检查了驱动程序是否存在于当前目录中,甚至指定了完整路径,但 Erlang 仍然没有看到它。有什么想法吗?

最佳答案

在 Windows 上,文件的扩展名应该是 ddl,而不是 dll ?

关于c - Erlang:找不到指定的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1344734/

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