On Tuesday, 30 July 2013 at 20:09:01 UTC, Milvakili wrote:
So I need to pass them as char*, I can not pass them as string?

I would pass it as a char* and a size_t for length.

extern(C++) void cpp_func(char* strptr, size_t strlen);


void main() {
   string foo = "test";
   cpp_func(foo.ptr, foo.length);
}


It'd be important on the C++ side to remember that it is NOT zero terminated, and always use that length parameter instead of normal C functions.

But that'd give the most efficiency, since that's using the same representation as D itself.

Reply via email to