免费注册 查看新帖 |

Chinaunix

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

请问gcc如果编译过如下代码?谢谢 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-10-11 09:59 |只看该作者 |倒序浏览
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#ifndef DOUBLE
//#define DOUBLE double

typedef double DOUBLE;
#endif

#ifndef DOUBLE
//#undef DOUBLE

//#define DOUBLE double

typedef double DOUBLE;
#endif

main()
{
        char lpszNewWorld[] = "hello the new unix programmers' world\n";
}

论坛徽章:
0
2 [报告]
发表于 2007-10-11 10:07 |只看该作者
gcc对于ifndef下typedef的处理好像分开了。

论坛徽章:
0
3 [报告]
发表于 2007-10-11 10:12 |只看该作者
........................
........................
........................
# 962 "/usr/include/stdlib.h" 3 4
extern int getloadavg (double __loadavg[], int __nelem)
     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
# 978 "/usr/include/stdlib.h" 3 4

# 4 "temp.c" 2



typedef double DOUBLE;





typedef double DOUBLE;


main()
{
char lpszNewWorld[] = "hello the new unix programmers' world\n";
}

论坛徽章:
0
4 [报告]
发表于 2007-10-11 11:08 |只看该作者
大家帮帮忙吧,进来说句话也好,我这一直F5   好无聊啊。

论坛徽章:
0
5 [报告]
发表于 2007-10-11 11:23 |只看该作者
#ifndef XXX
int XXX = 1;
#endif

#ifndef XXX
int XXX = 1;
#endif

论坛徽章:
0
6 [报告]
发表于 2007-10-11 11:27 |只看该作者
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#ifndef DOUBLE
#define DOUBLE
typedef double DOUBLE;
#endif
#ifndef DOUBLE
typedef double DOUBLE;
#endif

main()
{
        char lpszNewWorld[] = "hello the new unix programmers' world\n";
}

论坛徽章:
0
7 [报告]
发表于 2007-10-11 12:36 |只看该作者
问题是这样的,我们在移植vxworks下的代码,同样都是gcc编译器,为什么我这里编译不过去?修改代码是最后的一招,有没有方法在gcc编译的搞定它?

论坛徽章:
0
8 [报告]
发表于 2007-10-11 12:48 |只看该作者
实际情况是这样的:
-----------------------------------
///////a.h
#ifndef DOUBLE
typedef double DOUBLE;
#endif
----------------------------------
////////b.h
#ifndef DOUBLE
typedef double DOUBLE;
#endif
----------------------------------
/////////c.c
#include "a.h"
#include "b.h"
----------------------------------
编译c.c的时候就会出错。

大家看看是不是我编译器设置的问题,如果不是,在不修改代码的情况下能否搞定,实在不行我就只能修改代码了。

论坛徽章:
0
9 [报告]
发表于 2007-10-11 13:36 |只看该作者
别在不同的头文件里typedef就可以了

论坛徽章:
0
10 [报告]
发表于 2007-10-11 15:40 |只看该作者
如果改代码,我就不 发上来了, 帮忙想想办法,谢谢。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP