2310D导入c部分可用

看看简单的示例(该示例不使用.di文件):
这里

克隆它并放文件在方便的地方.

现在,试使用它.

在此例中,map.capp.d在同一目录中.

cpp 复制代码
import std.stdio : writeln;
//使用`map.c`
import map;
import std.string : toStringz;
alias c = toStringz;
void main()
{
    hashmap* m = hashmap_create();
    string key = "hello";
    hashmap_set(m, key.c, key.length, 400);
    uintptr_t result;
    if (hashmap_get(m, key.c, key.length, &result))
    {
        writeln(key, " = ", cast(int) result);
    }
    else
    {
        writeln("Could not locate entry ", key);
    }
}

如果路径设置正确,现在可运行:

cpp 复制代码
dmd map.c app.d

DMD现已生成可执行文件.运行它并查看结果.

好.现在,如果也可获得自动补全等,那就更好了.

相关推荐
fqbqrr4 个月前
2407d,D2024三月会议
d
fqbqrr7 个月前
2403d,d的com哪里错了
d
fqbqrr9 个月前
2402d,d的变参
d
fqbqrr10 个月前
2401d,ddip1027如何支持sql
d
fqbqrr10 个月前
2401d,讨论d串滑动参数
d
fqbqrr1 年前
2312d,D语言单元测试等
d
fqbqrr1 年前
2312d,d语言作为胶水,用C++调用rust
c++·rust·d
fqbqrr1 年前
2312d,把alloca注入调用者域
d
fqbqrr1 年前
2312d,d语言来绑定C++和rust
c++·rust·d
fqbqrr1 年前
2311ddip1000不能从函数返回域引用
d