| rsites 
 28.01.2008, 18:26
   | 16-Bit DOS Extenders (Users) | 
    
     | I have obtained a copy of the Phar Lap 286/Extender.  This seems work well with my Borland C++ 3.1 16-Bit DOS application.  I have one error when I try to format a foating point number using printf for example.  The error is:
 "printf : floating point formats not linked.  Abnormal program termination"
 
 Does anybody have any idea what header file or library file I need to include to remove this error.  All other formats (strings, integers) worked correctly without error.
 | 
               
     | Japheth 
 
  
 Germany (South),
 28.01.2008, 19:35
 
 @ rsites
 | 16-Bit DOS Extenders | 
    
     | > I have obtained a copy of the Phar Lap 286/Extender.  This seems work well> with my Borland C++ 3.1 16-Bit DOS application.  I have one error when I
 > try to format a foating point number using printf for example.  The error
 > is:
 >
 > "printf : floating point formats not linked.  Abnormal program
 > termination"
 >
 > Does anybody have any idea what header file or library file I need to
 > include to remove this error.  All other formats (strings, integers)
 > worked correctly without error.
 
 It's not a question of header files. You have to force the linker to include the floating point stuff. IIRC there is/was an external "_fltused" which has to be referenced in the source. I also remember with MS VC 1.5, it was sufficient to declare a initialized global floating point variable somewhere, the reference to _fltused was not needed then.
 ---MS-DOS forever!
 | 
                
     | RayeR 
 
  
 CZ,
 28.01.2008, 21:48
 
 @ Japheth
 | 16-Bit DOS Extenders | 
    
     | > It's not a question of header files. You have to force the linker to> include the floating point stuff. IIRC there is/was an external "_fltused"
 > which has to be referenced in the source. I also remember with MS VC 1.5,
 > it was sufficient to declare a initialized global floating point variable
 > somewhere, the reference to _fltused was not needed then.
 
 Yes, similar to avr-gcc. It also doesn't link the big version of ?printf and ?scanf with float support by default because of size. You need to use special linker option to link full version. But I cannot tell you the option for BC.
 ---DOS gives me freedom to unlimited HW access.
 | 
                
     | rsites 
 29.01.2008, 14:12
 
 @ RayeR
 | 16-Bit DOS Extenders | 
    
     | > Yes, similar to avr-gcc. It also doesn't link the big version of ?printf> and ?scanf with float support by default because of size. You need to use
 > special linker option to link full version. But I cannot tell you the
 > option for BC.
 
 Thanks for the info.  Have not found the linker option in BC++ 3.1 or any reference to _fltused but with this information I may be able to find what is required.  If there is any other info available, I would be very appreciative.
 | 
                
     | rr 
 
    
 Berlin, Germany,
 29.01.2008, 15:29
 
 @ rsites
 | 16-Bit DOS Extenders | 
    
     | > Thanks for the info.  Have not found the linker option in BC++ 3.1 or any> reference to _fltused but with this information I may be able to find what
 > is required.  If there is any other info available, I would be very
 > appreciative.
 
 Do you know Google?
  
 Please read Why did my program bomb at run time with 'floating point formats not linked' or 'floating point not loaded'? for a solution. Also in chapter 15 of A to Z of C or C Primer Plus, Fifth Edition.
 ---Forum admin
 | 
                
     | rsites 
 29.01.2008, 17:57
 
 @ rr
 | 16-Bit DOS Extenders | 
    
     | > Please read Why did my> program bomb at run time with 'floating point formats not linked' or
 > 'floating point not loaded'? for a solution. Also in chapter 15 of
 > A to Z of C or
 > C Primer Plus,
 > Fifth Edition.
 
 Thanks again.  None of the above work with Borland 3.1
 | 
                
     | rr 
 
    
 Berlin, Germany,
 29.01.2008, 22:32
 
 @ rsites
 | 16-Bit DOS Extenders | 
    
     | > Thanks again.  None of the above work with Borland 3.1
 1) Do not bottom-post!
 2) Get rid of Phar Lap 286.
 3) Post your source code.
 ---Forum admin
 | 
                
     | Rugxulo 
 
  
 Usono,
 30.01.2008, 04:37
 
 @ rsites
 | 16-Bit DOS Extenders | 
    
     | > > Please read Why did> my
 > > program bomb at run time with 'floating point formats not linked' or
 > > 'floating point not loaded'? for a solution. Also in chapter 15
 > of
 > > A to Z of C or
 > > C Primer Plus,
 > > Fifth Edition.
 >
 > Thanks again.  None of the above work with Borland 3.1
 
 So you tried the extern/pragma method? BTW, dare I ask, is there any huge reason for using Phar Lap and Borland 3.1 instead of something else? What cpu(s) are you targeting?
 ---Know your limits.h
 | 
                
     | rsites 
 30.01.2008, 14:38
 
 @ Rugxulo
 | 16-Bit DOS Extenders | 
    
     | > So you tried the extern/pragma method? BTW, dare I ask, is there any huge> reason for using Phar Lap and Borland 3.1 instead of something else? What
 > cpu(s) are you targeting?
 
 The code compiles, links and runs completely in real mode.  It is when I link and run with Phar Lap 286/Extender that I get the "floating point formats not linked" error.  Adding the extern/pragma method did not resolve this issue.  I am using Borland C++ 3.1 because that is what the code is written in and has been run in over the last 10 years.  I would like not to have to port this code to some other compiler.  I am trying to use Phar Lap 286/Extender because it has been the only 16-bit extender that works with Borland C++ that I have been able to obtain.  The code is run on a single board computer running Datalight ROM DOS 6.22.
 | 
                
     | rr 
 
    
 Berlin, Germany,
 30.01.2008, 15:05
 
 @ rsites
 | 16-Bit DOS Extenders | 
    
     | [snip]
 Another bottom-post and I'll will block your account.
  Please delete not required quoted text! ---Forum admin
 |