On Wednesday, June 19, 2019 11:12:14 AM MDT lili via Digitalmars-d-learn 
> Hi Guys;
>     In the dmd source code, has lot of extern (C++), Why need this
> and what is difference between extern(C++) extern(D), Thanks your
> answer.

extern(C++) is for making the name mangling match C++, extern(C) would be
the same for C (though in that case, it would mean no name mangling), and
extern(D) is the same as not using extern at all; it's for the normal D name
mangling. extern(C) and extern(C++) are either exposing symbols from D to
those languages (e.g. if you're creating a library) or for exposing symbols
from those languages to D (e.g. that's what core.stdc.* does with C's
standard library so that it can be used from D).


- Jonathan M Davis

Reply via email to