C++ function mangling Linux GCC
Nicholas Wilson
iamthewilsonator at hotmail.com
Thu Jan 18 05:09:57 UTC 2018
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
More information about the Digitalmars-d-learn
mailing list