2312d,d调用中文C++库

调用方:

import core.stdcpp.string;
//用C++的串.
import std.stdio;

extern(C){
    bool bb(ref string a);
}
bool cc(ref string a);

void main()
{
    string c="bb";
    string d="";
    writeln(c,d);
    bool a=cc(c);
    writeln(c,d);
    bool b=bb(d);
    writeln(a,b);
}


C++这边,根据需要,加上包装:

//放在a.cpp中.并单独构建生成a.obj."C"bb(&a){
    中 小一(a);
}"C"_D1n2ccFKAyaZb(&a){
    中 小一(a);
}

然后链接在一起:

dmd -i n.d
link n.obj a.obj legacy_stdio_definitions.lib
n.exe
//legacy_stdio_definitions里面有printf,scanf

你可能感兴趣的:(dlang,d,c++,d)