找回密码
 立即注册→加入我们

QQ登录

只需一步,快速开始

搜索
热搜: 下载 VB C 实现 编写
查看: 1092|回复: 1

gcc可以通过 cl无法通过 什么问题

[复制链接]

15

主题

39

回帖

246

积分

用户组: 中·技术宅

UID
5832
精华
0
威望
2 点
宅币
188 个
贡献
0 次
宅之契约
0 份
在线时间
39 小时
注册时间
2020-4-15
发表于 2020-6-16 18:31:38 | 显示全部楼层 |阅读模式

欢迎访问技术宅的结界,请注册或者登录吧。

您需要 登录 才可以下载或查看,没有账号?立即注册→加入我们

×
#ifdef __ICL
#define DECLARE_ALIGNED( var, n ) __declspec(align(n)) var
#else
#define DECLARE_ALIGNED( var, n ) var __attribute__((aligned(n)))
#endif
#define ALIGNED_16( var ) DECLARE_ALIGNED( var, 16 )
#define ALIGNED_8( var )  DECLARE_ALIGNED( var, 8 )
#define ALIGNED_4( var )  DECLARE_ALIGNED( var, 4 )

#include <stdint.h>

typedef uint16_t pixel;

struct x264_weight_t;

typedef struct x264_weight_t
{
    /* aligning the first member is a gcc hack to force the struct to be
     * 16 byte aligned, as well as force sizeof(struct) to be a multiple of 16
*/
    ALIGNED_16(int16_t cachea[8]);
    int16_t cacheb[8];
    int32_t i_denom;
    int32_t i_scale;
    int32_t i_offset;
}x264_weight;

=================

只要把宏ALIGNED_16注释掉,cl也是可以通过的。
什么问题啊?
回复

使用道具 举报

1109

主题

1649

回帖

7万

积分

用户组: 管理员

一只技术宅

UID
1
精华
244
威望
743 点
宅币
24180 个
贡献
46222 次
宅之契约
0 份
在线时间
2294 小时
注册时间
2014-1-26
发表于 2020-6-18 22:19:51 | 显示全部楼层
我知道你是谁了,你就是竹笋大师。

“对齐”的概念知道不?你需要针对你所谓的“cl”(目测MSVC)将DECLARE_ALIGNED定义为对齐方式。MSVC的对齐的定义方式和ICL的一致。
回复 赞! 靠!

使用道具 举报

QQ|Archiver|小黑屋|技术宅的结界 ( 滇ICP备16008837号 )|网站地图

GMT+8, 2024-3-29 09:32 , Processed in 0.036028 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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