我想尝试在 dlang 中使用 libuv。我下载了这样的 dlang 绑定(bind):
git clone git@github.com:tamediadigital/libuv.git
现在我接下来要做什么来让我的“hello world”运行?
我试过这个:
ldc2 hello.d -luv
但它说:
ldc2: Unknown command line argument '-luv'. Try: 'ldc2 -help'
ldc2: Did you mean '-v'?
我想我需要告诉编译器库绑定(bind)的位置。
然后在源代码中导入一些东西,可能是
import libuv;
?这是我想“移植”到 D 的“hello world”代码:
#include <stdio.h>
#include <stdlib.h>
#include <uv.h>
int main() {
uv_loop_t *loop = malloc(sizeof(uv_loop_t));
uv_loop_init(loop);
printf("Now quitting.\n");
uv_run(loop, UV_RUN_DEFAULT);
uv_loop_close(loop);
free(loop);
return 0;
}
这是绑定(bind) github 页面:https://github.com/tamediadigital/libuv
图书馆主页:http://www.libuv.org
最佳答案
首先这是一个错误的绑定(bind),下面是好的绑定(bind):https://github.com/changloong/libuv
假设你做了 git clonegit@github.com:changloong/libuv.git
在当前目录中。
编译:
ldc2 hello.d -I=libuv/deimos/libuv/ -I=libuv/ -L=-luv
来源:
import uv;
import core.memory;
import std.stdio;
int main(){
uv_loop_t *loop = new uv_loop_t;
uv_loop_init(loop);
printf("Now quitting.\n");
uv_run(loop, uv_run_mode.UV_RUN_DEFAULT);
uv_loop_close(loop);
return 0;
}
希望它可以帮助某人开始在 D 中使用 C 库。
关于d - 链接 libuv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42805786/