documentation for C/C++ interop
Laeeth Isharc via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Thu Aug 27 19:27:22 PDT 2015
would someone care to work on updating this? I understand from
Daniel's post in main list that the only thing that doesn't work
is special member functions. that's different from what the
documents say, and it is surely something important for D that
people are aware of this.
I don't really know C++, so I won't be much good at writing it,
otherwise I would have a first stab at it myself.
But I tried with the following toy, which worked fine:
import std.stdio;
extern(C++) struct Test
{
int i;
extern(C++) void mutate()
{
i+=10;
//test="goodbye".dup.ptr;
}
}
extern(C++) void callme(Test* test);
void main(string[] args)
{
Test test;
writefln("%s",test);
test.mutate;
writefln("%s",test);
callme(&test);
writefln("%s",test);
}
#include <stdio.h>
struct Test
{
int i;
public:
void mutate();
};
void callme(struct Test* test)
{
test->i=(test->i)+1;
test->mutate();
}
More information about the Digitalmars-d-learn
mailing list