Poll of the week: main OS and compiler

Manu turkeyman at gmail.com
Thu Mar 8 07:12:53 PST 2012


On 8 March 2012 16:41, Jacob Carlborg <doob at me.com> wrote:

> On 2012-03-08 10:12, Manu wrote:
>
>> On 8 March 2012 00:21, Jonathan M Davis <jmdavisProg at gmx.com
>> <mailto:jmdavisProg at gmx.com>> wrote:
>>
>>    On Wednesday, March 07, 2012 23:07:11 Mars wrote:
>>     > On Friday, 2 March 2012 at 11:53:56 UTC, Manu wrote:
>>     > > Personally, I just want to be able to link like a normal
>>     > > windows developer.
>>     > > My code is C/C++, built with VC, and I want to link my D app
>>     > > against those
>>     > > libs using the VC linker, and debug with Visual Studio. This is
>>     > > the
>>     > > workflow I think the vast majority of Windows devs will expect,
>>     > > and it
>>     > > sounds simple enough. This is the only thing standing between
>>     > > me using D
>>     > > for any major projects, and just experimenting with the
>>     > > language for
>>     > > evaluation, or just academic interest.
>>     > > 64bit is far less important to me personally, VisualC linker
>>     > > compatibility
>>     > > is the big one. I just want to link against my C code without
>>     > > jumping
>>     > > through lots of hoops.
>>     >
>>     > That's exactly my problem... and although I love D, these hurdles
>>     > made me take a step back, to C++, while I wait for this to
>>     > change, so I can finally use D efficiently.
>>     >
>>     > I'm sure this isn't a trivial task, but the problematic isn't new
>>     > after all. Why hasn't it been addressed yet? In my eyes this
>>     > should be a top priority, to make it easier for new users to get
>>     > into D. Till this poll I actually believed the problem was that D
>>     > isn't used much by Windows users.
>>
>>    I don' think that Walter really views it as much of a problem - or
>>    if he does,
>>    he didn't used to. Remember that he's used to an environment where
>>    he doesn't
>>    use Visual Studio or Microsoft's C++ compiler. And his customers use
>>    dmc just
>>    like he does (since they're his customers), so many of the people
>>    that he
>>    interacts with in the C/C++ world are not necessarily particularly
>>    Microsoft-
>>    centric on Windows.
>>
>>    Add to that the enormous task that it is to actually make dmd work
>>    with COFF
>>    or 64-bit or anything of the sort on Windows, and it's no wonder that
>> it
>>    hasn't happened yet.
>>
>>    To be fair, there are plenty of other things that have needed to be
>>    done, and
>>    what we have for Windows does work, even if it's suboptimal. So,
>>    it's not all
>>    that unreasonable that the issue would be put off as long as it has
>>    been. And
>>    Walter _has_ been slowing working on porting optlink to C (the fact
>>    that it's
>>    written in assembly makes it really fast but hard to maintain and
>>    change),
>>    which would make it possible to then start porting stuff to 64-bit and
>>    considering COFF and stuff like that.
>>
>>
>> Is it possible to just fix the compiler to output COFF objects *without*
>> touching optlink at all?
>> I'm not interested in using optlink with this feature, I intend to link
>> with Visual Studio, that's the whole point. So ignoring optlink, that's
>> a major slice of work taken out of the equation...
>> Maybe it would be nice to support optlink in future, but it seems the
>> priority is backwards.
>>
>
> DMD would need to be compatible with the Microsoft linker and runtime as
> well, that is, except from outputting object file in the correct format.


By 'runtime' you mean the crt? I don't think that'll be a major headache.
Probably just a few subtle differences to deal with.
A nice side effect would be that all those horrid OMF conversions of MS
libs bundled with D wouldn't be necessary.

And what else affects linker compatibility other than object format and
mangling convention?

How is DMD actually affected by any of this other than object format? Name
mangling?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20120308/411f50e3/attachment.html>


More information about the Digitalmars-d mailing list