关于tc中的“floating point formats not linked" or "floating point not loaded"

转载:

Why   did   my   program   bomb   at   run   time   with   'floating   point   formats   not   linked'   or   'floating   point   not   loaded'?  
   
  --------------------------------------------------------------------------------  
   
  Date:   5   Feb   2002   22:03:03   -0400  
   
    These   messages   look   similar   but   have   very   different   causes.  
   
    "Floating   point   not   loaded"   is   Microsoft   C's   run-time   message   when   the  
    code   requires   a   numeric   coprocessor   but   your   computer   doesn't   have   one  
    installed.   If   the   program   is   yours,   relink   it   using   the   xLIBCE   or   xLIBCA  
    library   (where   x   is   the   memory   model).  
   
    "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.  
   
    If   you   have   Borland   C++   3.0,   the   README   file   documents   a   slightly   less  
    ugly   work-around.   Insert   these   statements   in   your   program:  
   
        extern   unsigned   _floatconvert;  
        #pragma   extref   _floatconvert  

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值