LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 556|回复: 2

这个程序在REDHAT 9.0 能编译,但在UNIX不行。(小问题)

[复制链接]
发表于 2003-12-27 21:47:53 | 显示全部楼层 |阅读模式
这是在UNIX编译
# gcc utime.c
In file included from utime.c:14:
/usr/include/utime.h:40: syntax error before `time_t'
这是该系统的/usr/include/utime.h文件。
    36  #ifndef _UTIME_H_
    37  #define _UTIME_H_
    38
    39  struct utimbuf {
    40          time_t actime;          /* Access time */
    41          time_t modtime;         /* Modification time */
    42  };
在Redhat 9.0 能通过。
这是/usr/include/utime.h
    37  /* Structure describing file times.  */
    38  struct utimbuf
    39    {
    40      __time_t actime;            /* Access time.  */
    41      __time_t modtime;           /* Modification time.  */
    42    };

差别很小。请问__time_t和time_t有什么不同?怎么会这样?:help:
发表于 2003-12-28 00:01:42 | 显示全部楼层
我没有unix系统,不过从linux的源代码来看,time_t和__time_t应该是一样的。具体可以看一下,/usr/include/bits/下的types.h,typesizes.h和/usr/include下的time.h.
你可以在unix下编译的时候加入types.h和typesizes.h头文件试试。
发表于 2003-12-28 17:22:02 | 显示全部楼层
unix的数据类型和linux有区别,函数的位置也不一样
unp好象写的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表