New slides about Go
Paulo Pinto
pjmlp at progtools.org
Fri Oct 15 02:17:49 PDT 2010
Still most modern languages are moving away from inline assembly.
Even Microsoft has dropped inline assembly support for the 64bit version of
Visual C++, pointing
developers to MASM.
People will always complain no matter what. Just use the official assembler
for the target platform.
Personally the last time I used inline assembly I was still target MS-DOS,
long time ago and actually
it is one of the features I don't like in D.
--
Paulo
"Walter Bright" <newshound2 at digitalmars.com> wrote in message
news:i98ub5$2bk7$1 at digitalmars.com...
> Yeah, and I've done that. It doesn't work out as well as you say, nor is
> it that easy. Problems:
>
> 1. You have to reimplement it for every platform and every memory model.
> 2. For some systems, like Windows, there are a wide variety of assemblers.
> They all use slightly different syntax. Distributing an asm file means an
> *unending* stream of complaints from people who don't have an assembler or
> have a different one than yours.
> 3. Getting all the boilerplate segment declarations right is a nuisance.
> 4. Name mangling.
> 5. Next your asm code all breaks when you want to recompile your app as a
> shared library.
> 6. Asm files are a nightmare on OSX.
>
> A language should be there to solve problems, not create them :-)
>
> Paulo Pinto wrote:
>> Easy, just implement a small assembly funtion.
>>
>> Not everything has to be in the language.
>>
>> "Walter Bright" <newshound2 at digitalmars.com> wrote in message
>> news:i984lr$odj$3 at digitalmars.com...
>>> Walter Bright wrote:
>>>> It's hard to see how to implement, say, a storage allocator with no
>>>> pointer arithmetic.
>>> Here's another one. Try implementing va_arg without pointer arithmetic.
>>
More information about the Digitalmars-d
mailing list