当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 2 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 编译gts的问题
帖子发表于 : 2013-02-19 6:36 

注册: 2013-02-19 6:28
帖子: 40
送出感谢: 0 次
接收感谢: 0 次
我试图自己编译gts,它需要glib.
一个错误说找不到glib.h.我找到glib.h,并把它所在目录加入-I后,再编译又说找不到glib/galloca.h。
打开glib.h一看,有如下语句#include <glib/galloca.h>,可是没有glib目录了,galloca.h就在glib.h相同的目录。

它为什么这么写呢?


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 编译gts的问题
帖子发表于 : 2013-02-22 18:15 

注册: 2013-02-19 6:28
帖子: 40
送出感谢: 0 次
接收感谢: 0 次
我把glib.h移到上一层目录。
再编译,可以了。

但新的问题又来了。编译predicates_init.c时说_PC_53没声明。

predicates_init.c中包含的rounding.h文件里代码如下:

代码:
#      elif __MINGW32__
#        include <float.h>
         static unsigned int fpu_init;
#        define FPU_ROUND_DOUBLE (fpu_init = _controlfp (0, 0),\
                                  _controlfp (_PC_53, _MCW_PC))
#        define FPU_RESTORE      (_controlfp (fpu_init, 0xfffff))


这个 _controlfp()函数的用途是 - get and set floating point control word

_MCW_PC 0x00030000
_PC_53 0x00010000

和机器是直接相关的,是不是把这个把值直接带进去?

代码:
The following program turns on floating-point exceptions:
http://www.suacommunity.com/man/3/_controlfp.3.html

    #include
    #include

    main()
    {
        double x, y;
        unsigned int mask;
        x = 1.0;
        y = 0.0;
        mask = _controlfp(0,0);
        printf("old floating-point control mask = %#x\n", mask);
        printf("%g=\n", x / y);
        /* turn on floating point exceptions */
        mask = _controlfp(0, _MCW_EM);
        printf("new floating-point control mask = %#x\n", mask);
        printf("%g\n", x / y );
    }


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 2 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译