Re: something is wrong

new topic     » goto parent     » topic index » view thread      » older message » newer message

Robert Craig wrote:
> 
> I set up Win32Lib 0.60.4 and tried the clock.exw example.
> 
> With both the 2.4 binder and the 2.4 translator
> I saw the problem where the time does not appear,
> only the word "Clock".
> 
> With both the 2.5 (alpha) binder and the 2.5 (alpha) translator,
> clock.exw worked fine. I also tried Win32Lib 0.59.1 and 
> everything worked fine with 2.5. 

This is good news. 

> I noticed with 0.60.4 the .exe size produced by the 
> translator was more than double, 1443K vs 602K. This is 
> likely due to w32start.ew which has a call to routine_id() 
> using a general expression, parms[1], rather than the 
> usual hard-coded string naming a specific routine. 
> What happens in this case is that the Translator 
> (and also the binder) must mark every earlier global routine 
> (plus the local routines in the same file) as being a possible target 
> of routine_id(). This prevents these routines from ever being
> deleted. Maybe there is a way to avoid this, such as moving the
> general call to routine_id() to a place much earlier in the source.

I don't think that's possible. The whole idea of having this call to
routine_id at the end of the program's source is so it can 'find' any
global routine anywhere in the entire source file(s).  If we routine_id() 
could do forward referencing at run-time, then this would not be
a problem.

-- 
Derek Parnell
Melbourne, Australia

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu