d - 链接 libuv

标签 d libuv

我想尝试在 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/

相关文章:

c - OpenGL如何从程序中设置着色器纹理(sampler2D)

javascript - Node.js 中如何首先执行所有控制台日志?

c++ - nodejs 插件异步回调与 libuv

c - 利布夫 : SO_REUSEPORT issue in Linux

c++ - 从套接字对象获取 fd 或句柄

string - d编程,将字符串解析或转换为 double

c# - 从整数到整数的转换方式有区别吗?

arrays - 使用 Array!T 和 opSlice() 时,std.algorithm.sorting 失败并出现模糊错误

switch-statement - Switch 语句总是解析为 default 而不是 case

javascript - 循环中发出的异步请求是否保证按照循环执行的顺序排队?