免费注册 查看新帖 |

Chinaunix

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

请问结构体占几个字节? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-12-28 20:20 |只看该作者 |倒序浏览
struct {};
  
   struct {visual ~A(); int i};
  
   struct {int i};

   为什么?


  下面如何优化?

   int i;

    int array[1000];

    for(i = 0; i<1000; i++) array = i;

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
2 [报告]
发表于 2004-12-28 22:41 |只看该作者

请问结构体占几个字节?

什么为什么啊?要怎么优化啊?

论坛徽章:
0
3 [报告]
发表于 2004-12-29 10:54 |只看该作者

请问结构体占几个字节?

struct {};//1 ,虽然没有data member但还是要占用一个茅坑的

struct {visual ~A(); int i}; //8,一个int一个vptr

struct {int i}; //4,一个int

论坛徽章:
0
4 [报告]
发表于 2004-12-29 11:01 |只看该作者

请问结构体占几个字节?

优化的不懂,高手出来讲讲?类似于下面的:
使用显式的并行代码

  尽可能把长的有依赖的代码链分解成几个可以在流水线执行单元中并行执行的没有依赖的代码链。因为浮点操作有很长的潜伏期,所以不管它被映射成 x87 或 3DNow! 指令,这都很重要。很多高级语言,包括C++,并不对产生的浮点表达式重新排序,因为那是一个相当复杂的过程。需要注意的是,重排序的代码和原来的代码在代数上一致并不等价于计算结果一致,因为浮点操作缺乏精确度。在一些情况下,这些优化可能导致意料之外的结果。幸运的是,在大部分情况下,最后结果可能只有最不重要的位(即最低位)是错误的。

  不好的代码 推荐的代码

double a[100], sum;
int i;
sum = 0.0f;
for (i=0; i<;100; i++)
  sum += a

double a[100], sum1, sum2, sum3, sum4, sum;
int i;
sum1 = sum2 = sum3 = sum4 = 0.0;
for (i = 0; i <; 100; i += 4)
{
  sum1 += a
  sum2 += a[i+1];
  sum3 += a[i+2];
  sum4 += a[i+3];
}
sum = (sum4+sum3)+(sum1+sum2);  

  要注意的是:使用4 路分解是因为这样使用了4阶段流水线浮点加法,浮点加法的每一个阶段占用一个时钟周期,保证了最大的资源利用率。

论坛徽章:
0
5 [报告]
发表于 2004-12-29 11:08 |只看该作者

请问结构体占几个字节?

原帖由 "playmud" 发表:
}
sum = (sum4+sum3)+(sum1+sum2);  

  要注意的是:使用4 路分解是因为这样使用了4阶段流水线浮点加法,浮点加法的每一个阶段占用一个时钟周期,保证了最大的资源利用率。


不错哦这种思路

论坛徽章:
0
6 [报告]
发表于 2004-12-29 14:29 |只看该作者

请问结构体占几个字节?

原帖由 "playmud" 发表:
}
sum = (sum4+sum3)+(sum1+sum2);  

  要注意的是:使用4 路分解是因为这样使用了4阶段流水线浮点加法,浮点加法的每一个阶段占用一个时钟周期,保证了最大的资源利用率。
我觉得,这种优化,应该是编译器的事...

论坛徽章:
0
7 [报告]
发表于 2004-12-29 15:19 |只看该作者

请问结构体占几个字节?

那个是精华区的一篇文章,看了看大部分看不明白.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP