Search code examples
cfloating-pointturbo-c

How to enable linking floating point library in TurboC?


I'm newbie in C language... Just want to ask how to enable linking floating point library in TurboC?


Solution

  • From the comp.os.msdos.programmer FAQ:

    "Floating point formats not linked" is a Borland run-time error (Borland C or C++, Turbo C or C++). Borland's compilers try to be smart and not link in the floating- point (f-p) library unless you need it. Alas, they all get the decision wrong. One common case is where you don't call any f-p functions, but you have %f or other f-p formats in scanf() or printf() calls. The cure is to call an f-p function, or at least force one to be present in the link.

    To do that, define this function somewhere in a source file but don't call it:

    static void forcefloat(float *p)   
    {
         float f = *p;
         forcefloat(&f);    
    }
    

    It doesn't have to be in the module with the main program, as long as it's in a module that will be included in the link.