Re: bug in SOMETHING?!
Hi chrissy,
----------
> Îò: tubby.toast at ntlworld.com
> Êîìó: EUforum <EUforum at topica.com>
> Òåìà: bug in SOMETHING?!
> Äàòà: Monday, February 11, 2002 23:01
> I have code a bit like this
>
> a=allocate_string("blah")
> err=c_func(functionname,{a}) --err<0 on error, 0 on success
> free(a)
>
> The code works fine on my Celeron/433 running Windows 98, whatever I do.
It
> works fine on my Windows 95 486-SX/50 too - unless I bind it with
shrouding
> enabled. err then shows an error. However, if I then comment out the
> free(a) line, err shows success.
>
> Now why should this be? Euphoria seems to be executing the third line
> before the second in some circumstances.
>
> So I forced the program to check that functionname had been executed by
> checking for the value of err before freeing a:
>
> a=allocate_string("blah")
> err=c_func(functionname,{a})
> if err then end if --check value of err
> free(a)
>
> and everything works fine. But this has taken days to track down.
>
> So is this a bug in
> a) my code
> b) Euphoria
> c) Windows 95
> d) the 486 chip
> e) something else?
>
> chrissy.
486-SX chips give no access to floating point component (FPU)
on the crystal, so your problem may be solved, it seems to be,
if you'll try the following command in AUTOEXEC.BAT:
SET NO87=1
Just add this line into your AUTOEXEC.BAT file and reboot your
machine. Then EU will use software floating point functions.
A 486-DX has normal FPU (compatible with 80387 commands).
[AS IS. Without Warranty]
Good luck!
Regards,
Igor Kachan
kinz at peterlink.ru
|
Not Categorized, Please Help
|
|