Pyd: Wrapping too many functions in a class gives a compilererror
Pragma
ericanderton at yahoo.removeme.com
Fri Jul 13 10:07:50 PDT 2007
Steve Teale wrote:
> Pragma Wrote:
>
>> BCS wrote:
>>> Reply to Pragma,
>>>
>>>> The problem is that the overly long template symbols are needed to
>>>> allow the linker to do it's job: expunge redundant symbol definitions
>>>> while locating the correct match for a dependency. As the properties
>>>> of a template instance is defined by its arguments, you really can't
>>>> separate the two. Combined, you get both run-time and link-time
>>>> behaviors that depend heavily on the naming spec staying right where
>>>> it is. Change the spec, and you allow for false matches that can
>>>> really screw things up.
>>> What is the chance of a hash coalition if all (and only) over length
>>> symbols are named by a hash code that is as long as /will/ fit?
>>>
>>> Alternately (and this will only work with single run compilation or with
>>> external meta data) name everything with GUIDs.
>>>
>>> Unless I am mistaken, really the only thing that is needed is that some
>>> unique name is assigned to each instance in a way that will let other
>>> stuff find the same name from the same input.
>>>
>> Yep, that's the gist of it.
>>
>> The problem you run into with hash codes (and GUIDs generated from a given source) is that they're not unique, so
>> collisions are possible, even if they're incredibly unlikely; linking against a library could theoretically fail
>> *without any recourse* if you have such a collision. Also, they need to be reversible, such that a given hash will
>> resolve to exactly one D signature.
>>
>> --
>> - EricAnderton at yahoo
>
> Off topic, but I emailed you about DDL, DSP etc - did you get it?
>
Yes as a matter of fact I did, but only just now. As some other folks around here can tell you, I sometimes get a
little behind on my mail queue. :)
--
- EricAnderton at yahoo
More information about the Digitalmars-d
mailing list