On Thursday, 18 January 2018 at 04:16:18 UTC, Laeeth Isharc wrote:
Am I missing something, or should extern(C++) just work for binding to gcc C++ on Linux. It works fine for primitives but fails for pointer type arguments. Extern "C" works fine.

Does D know how to mangle function names based on pointer types? I have created matching types on both sides.

Though I am using typedefs. Eg struct Foo_; typedef struct Foo_ Foo; and on D side struct Foo {}

Could that be why?


Yes. C++'s typedefs and using are just like D's alias. The underlying type is used in the mangling.

What the best way to see the types of library file function arguments for a libfoo.a file on Linux? Sorry for the dumb question.


nm libfoo.a | c++filt ?
or https://demangler.com

Reply via email to