免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2069 | 回复: 5
打印 上一主题 下一主题

[C] AIX环境下 编译求助,关于long long 问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-08-22 22:46 |只看该作者 |倒序浏览
本帖最后由 keza 于 2012-08-22 22:53 编辑

小弟在AIX6 64下编译程序
make提示如下
是关于long long 我问题
测试了一下,大致是由于源程序 flw_sp9001.c里
#include "public.h"
引起的
public.h 这里小弟也贴一段
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <time.h>

#include <fcntl.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/timeb.h>
#include <sys/stat.h>
#include <sys/syslog.h>

余下都是宏定义 就不完整贴出了

下面是make的时候的提示

/usr/vac/bin/cc  -q64 -g -qcpluscmt -brtl -D__DEBUG__ -DNOWHAT=1 -D_THREAD_SAFE  -I/home/swhx/esw/incl_pub -I/ho
me/swhx/esw/include -I/home/swyy/include -I/home/swyy/incl_c -c flw_sp9001.c
"/usr/include/sys/types.h", line 224.14: 1506-115 (E) Duplicate type specifier "long" ignored.
"/usr/include/sys/types.h", line 311.14: 1506-115 (E) Duplicate type specifier "long" ignored.
"/usr/include/sys/vm_types.h", line 226.23: 1506-115 (E) Duplicate type specifier "long" ignored.
"/usr/include/sys/vm_types.h", line 227.23: 1506-115 (E) Duplicate type specifier "long" ignored.
"/usr/include/sys/types.h", line 681.14: 1506-115 (E) Duplicate type specifier "long" ignored.
"/usr/include/sys/types.h", line 691.14: 1506-115 (E) Duplicate type specifier "long" ignored.
"/usr/include/sys/types.h", line 697.14: 1506-115 (E) Duplicate type specifier "long" ignored.
"/usr/include/sys/types.h", line 698.23: 1506-115 (E) Duplicate type specifier "long" ignored.
"/usr/include/sys/types.h", line 707.23: 1506-115 (E) Duplicate type specifier "long" ignored.
"/usr/include/sys/types.h", line 738.23: 1506-115 (E) Duplicate type specifier "long" ignored.
"/usr/include/stdlib.h", line 154.11: 1506-115 (E) Duplicate type specifier "long" ignored.
"/usr/include/stdlib.h", line 155.11: 1506-115 (E) Duplicate type specifier "long" ignored.
"/usr/include/stdlib.h", line 166.13: 1506-115 (E) Duplicate type specifier "long" ignored.
"/usr/include/stdlib.h", line 167.13: 1506-115 (E) Duplicate type specifier "long" ignored.
"/usr/include/stdlib.h", line 167.34: 1506-115 (E) Duplicate type specifier "long" ignored.
"/usr/include/stdlib.h", line 168.28: 1506-115 (E) Duplicate type specifier "long" ignored.
"/usr/include/stdlib.h", line 168.43: 1506-115 (E) Duplicate type specifier "long" ignored.
"/usr/include/stdlib.h", line 170.13: 1506-115 (E) Duplicate type specifier "long" ignored.
"/usr/include/stdlib.h", line 174.22: 1506-115 (E) Duplicate type specifier "long" ignored.
"/usr/include/sys/resource.h", line 110.23: 1506-115 (E) Duplicate type specifier "long" ignored.
"/usr/include/sys/resource.h", line 217.14: 1506-115 (E) Duplicate type specifier "long" ignored.
"/usr/include/sys/resource.h", line 218.14: 1506-115 (E) Duplicate type specifier "long" ignored.
"/usr/include/sys/resource.h", line 219.14: 1506-115 (E) Duplicate type specifier "long" ignored.
"/usr/include/sys/resource.h", line 220.14: 1506-115 (E) Duplicate type specifier "long" ignored.
"/usr/include/sys/resource.h", line 221.14: 1506-115 (E) Duplicate type specifier "long" ignored.
"/usr/include/sys/resource.h", line 222.14: 1506-115 (E) Duplicate type specifier "long" ignored.
"/usr/include/math.h", line 1649.37: 1506-115 (E) Duplicate type specifier "long" ignored.
"/usr/include/math.h", line 1649.52: 1506-115 (E) Duplicate type specifier "long" ignored.
"/usr/include/math.h", line 1650.13: 1506-115 (E) Duplicate type specifier "long" ignored.
"/usr/include/math.h", line 1650.37: 1506-115 (E) Duplicate type specifier "long" ignored.
"/usr/include/math.h", line 1650.52: 1506-115 (E) Duplicate type specifier "long" ignored.
"/usr/include/math.h", line 1651.13: 1506-115 (E) Duplicate type specifier "long" ignored.
"/usr/include/math.h", line 1652.22: 1506-115 (E) Duplicate type specifier "long" ignored.
"/usr/include/sys/xmem.h", line 288.35: 1506-115 (E) Duplicate type specifier "long" ignored.
"/usr/include/sys/xmem.h", line 288.55: 1506-115 (E) Duplicate type specifier "long" ignored.
"/usr/include/sys/xmem.h", line 289.35: 1506-115 (E) Duplicate type specifier "long" ignored.
"/usr/include/sys/xmem.h", line 306.30: 1506-115 (E) Duplicate type specifier "long" ignored.
"/usr/include/sys/xmem.h", line 404.15: 1506-115 (E) Duplicate type specifier "long" ignored.
        /usr/vac/bin/cc -G -g -q64 -brtl -o flw_sp9001.so flw_sp9001.o -L/home/swhx/esw/lib -L/home/swyy/txlib -L/home/s
wyy/plugin -lswapi -lbase -lpubdb -lcnaps -lbeps -lhvps -lcfca -lisfile -lswpack -lswcode -lpubf
        rm -f /home/swyy/txlib/flw_sp9001.so
        cp flw_sp9001.so /home/swyy/txlib/flw_sp9001.so
flw_sp9001 is ok!
Target "all" is up to date.


如上警告,小弟求助是public.h里什么地方造成的呢?
感激不尽、这是小弟第一次在chinaunix里发帖,还望知道的大哥回复下下啊

论坛徽章:
0
2 [报告]
发表于 2012-08-22 22:52 |只看该作者
自己占个沙发 希望明早有师兄回复

论坛徽章:
59
2015年亚洲杯之约旦
日期:2015-01-27 21:27:392015年亚洲杯之日本
日期:2015-02-06 22:09:41拜羊年徽章
日期:2015-03-03 16:15:432015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015元宵节徽章
日期:2015-03-06 15:50:392015年亚洲杯之阿联酋
日期:2015-03-19 17:39:302015年亚洲杯之中国
日期:2015-03-23 18:52:23巳蛇
日期:2014-12-14 22:44:03双子座
日期:2014-12-10 21:39:16处女座
日期:2014-12-02 08:03:17天蝎座
日期:2014-07-21 19:08:47
3 [报告]
发表于 2012-08-23 08:18 |只看该作者
it seems your compiler doesn't support the data type longlong,
seem its manual to get detail
(are there any compiler optioin available?
or if 64bit supported compiler needed?
or there are other represention of type "longlong")

论坛徽章:
0
4 [报告]
发表于 2012-08-23 13:00 |只看该作者
long long只在32位编译环境下使用, 64位编译环境下直接用long 就是64位的(你可以sizeof(long)看下),
或者使用 #include <stdint.h>定义的通用64位类型int64_t 或uint64_t 代替

论坛徽章:
14
巨蟹座
日期:2013-11-19 14:09:4615-16赛季CBA联赛之青岛
日期:2016-07-05 12:36:0515-16赛季CBA联赛之广东
日期:2016-06-29 11:45:542015亚冠之全北现代
日期:2015-07-22 08:09:472015年辞旧岁徽章
日期:2015-03-03 16:54:15巨蟹座
日期:2014-12-29 08:22:29射手座
日期:2014-12-05 08:20:39狮子座
日期:2014-11-05 12:33:52寅虎
日期:2014-08-13 09:01:31巳蛇
日期:2014-06-16 16:29:52技术图书徽章
日期:2014-04-15 08:44:01天蝎座
日期:2014-03-11 13:06:45
5 [报告]
发表于 2012-08-23 13:12 |只看该作者
回复 4# bittertea

    long long只在32位编译环境下使用, 64位编译环境下直接用long 就是64位的(你可以sizeof(long)看下)
这两句话都不对。第一句话,显然是错的,就不说了
64位编译环境下long是否是64bits的,要看编译器使用的数据模型,如果是LLP64模型下,long就是32位的

论坛徽章:
0
6 [报告]
发表于 2012-08-24 15:27 |只看该作者
回复 5# bruceteen


    有没什么解决的方法吗 我在另一个用户下 不引用public.h这个头文件就不出现这个问题
    是引用系统的哪一个头文件导致的long long 的问题呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP