extern (c)
user1234
user1234 at 12.de
Wed Oct 11 17:08:30 UTC 2023
On Wednesday, 11 October 2023 at 13:36:16 UTC, Paul wrote:
> On Wednesday, 11 October 2023 at 12:54:53 UTC, user1234 wrote:
>>
>> `extern(C)` on module level functions affect the mangling and
>> the calling convention.
>>
>> - Mangling is used by the linker to link symbols between
>> objects.
>> - Calling convention affects the compiler backend in how code
>> is generated for a CALL instruction.
>
> So C doesn't use name mangling
I see what you mean. I just consider no mangling as a kind of
mangling, that is "just the symbol name".
> and extern (C) in a D prog would turn off D mangling thereby
> allowing C and D object files to be linked together?
>
> I didn't know C and D had different calling conventions...i.e.
> different ABI's?
They are mostly similar but according to
https://dlang.org/spec/abi.html#function_calling_conventions
there are differences.
More information about the Digitalmars-d-learn
mailing list