2312d,d calls Chinese C++ library

Caller:

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++Here, add packaging as needed:

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

Then link together:

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

Guess you like

Origin blog.csdn.net/fqbqrr/article/details/135313909