首页
社区
课程
招聘
[求助]关于windows 可返回值的宏 的使用
发表于: 2010-4-16 14:13 5153

[求助]关于windows 可返回值的宏 的使用

2010-4-16 14:13
5153
写了一个简单的测试宏的代码,发现同样的宏 在linux和windows平台下编译不一致。
我的部分代码如下:
/****用于测试的宏,返回mp*******/
#define Test_Macro(value) \
                                ({\
                                int mp = 0;\
                                mp = *value + 1;\
                                mp; \
                                })

func(void)
{ int *ptr = 0;
           ....
           ....

*ptr = Test_Macro(ptr);//调用宏Test_Macro
       ....
          ....
}

该代码在linux下编译没有问题  ,但是在windows  WDK编译是有问题的。
为什么呢?

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 170
活跃值: (90)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
2
不了解 帮你顶一下
2010-4-16 15:49
0
雪    币: 131
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
是怎么报错的?
我的可以啊。不过我的是写成公共组件的。
#define mgetByte(memPtr)                \
        ( ( unsigned char ) *memPtr++ )
2010-4-17 10:53
0
雪    币: 64
活跃值: (134)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4

请问宏定义第三行 mp;
是干什么用的?
2010-4-25 19:06
0
游客
登录 | 注册 方可回帖
返回
//