腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
如何解释数据类型大小及其
对齐
方式?
、
、
、
关于
linux
/gcc中double类型的大小/
对齐
,我有一个问题。在上,它写着: 例如: i
浏览 5
提问于2017-07-01
得票数 0
回答已采纳
1
回答
新操作符的C++
对齐
,有多重要?
、
据我理解,64位
linux
系统上的指针大小为8
字节
,
对齐
的要求应该是8
字节
对齐
。如果是这样,那么为什么新运算符返回16
字节
(可能是32,但这个数字大于8)
对齐
指针又有什么关系呢?,每个指针是
对齐
的16个
字节
。我的问题如下- 是否有任何副作用使用布局新和
对齐
每个结构和指针8
字节
?(我可以想到的一个副作用是,这种方法
浏览 1
提问于2018-02-07
得票数 2
1
回答
在64位
linux
、mac和其他操作系统中,long double所需的
对齐
方式是什么?
、
、
、
我一直在尝试找出x86-64Mac和
linux
中long double所需的
对齐
方式。我发现了各种不同的东西,它们暗示了不同的需求,但找不到权威的来源。我发现在Mac上,gcc有时会生成使用movaps复制长双精度的代码,这需要16
字节
对齐
。但是clang没有,而且gcc已经很老了,所以也许这只是一个老的bug,不会得到修复?
浏览 7
提问于2012-10-18
得票数 2
回答已采纳
1
回答
为什么结构填充不正常?
、
#include<stdio.h> { double e;}A; { return 0;它的输出是16。如果我们把结构内部填充和结构填充作为一个整体来考虑,难道不是24吗?
浏览 1
提问于2015-04-25
得票数 6
回答已采纳
4
回答
为什么数据结构
对齐
对性能很重要?
、
、
、
有没有人能给我一个简短而可信的解释,解释为什么编译器为了
对齐
其成员而向数据结构添加填充?我知道这样做是为了让CPU能够更有效地访问数据,但我不明白为什么会这样。如果这只与CPU相关,为什么双4
字节
在
Linux
中
对齐
,而在Windows中8
字节
对齐
?
浏览 5
提问于2010-01-05
得票数 30
回答已采纳
2
回答
数据
对齐
:在哪里可以读取?能改吗?
、
、
这是一本关于内存中基本类型的数据
对齐
的书。 Microsoft对提出了更强的
对齐
要求--任何K
字节
的原始对象,对于K= 2、4或8,都必须有一个K的倍数的地址,特别是,它要求双或长的地址是8的倍数。
Linux
约定(8
字节
值在4
字节
边界上
对齐
)可能对i386很有好处,因为当时内存不足,内存接口只有4
字节
宽。有了现代处理器,微软的调整是一个更好的设计决策。数据类型long double,gcc生成分配12
字节
的IA32代码(尽管实际的数据
浏览 2
提问于2011-12-15
得票数 2
回答已采纳
1
回答
alloc_netdev_mqs中的内存
对齐
最近,我研究了
linux
网络驱动程序,并且在结构上存在一些内存
对齐
问题。,因为我们希望将结构net_device与NETDEV_ALIGN的乘数
对齐
。例如,如果我们有: net_device 3
字节
、NETDEV_ALIGN 4
字节
和私有日期2
字节
: 在(1)位置,我们
对齐
(3,4) => 4
字节
,然后是(私有数据大小)+(净设备大小)= 4+2 =6
字节
。在(2)为什么不使用
对齐
(6,4) => 8<e
浏览 11
提问于2015-07-16
得票数 0
回答已采纳
1
回答
为什么CPU不能直接访问不是总线宽度倍数的地址?
、
、
、
、
为了理解在
Linux
x86环境下C语言中结构填充是如何工作的,我读到
对齐
访问比错误
对齐
访问更快。虽然我理解其中的原因,但它们似乎都有一个基本的前提假设,即CPU不能直接访问非总线宽度倍数的地址,因此,例如,如果32位总线CPU被指示从地址"2“开始读取4个
字节
的内存,它首先从地址"0”读取4个
字节
,屏蔽前两个
字节
,从地址"4“读取另4个
字节
,屏蔽最后两个
字节
,最后结合两个结果,而不是一次读取4
字节
,以防
浏览 9
提问于2022-11-28
得票数 0
回答已采纳
2
回答
C++/
Linux
出于性能原因而
对齐
字符数组?
、
、
、
我在
Linux
上用C++编写了一些代码,在那里我创建了一个用于
字节
处理的大型字符数组。在做了一些阅读之后,我想知道我是否应该在16
字节
边界上
对齐
数组,显然这可以允许CPU利用SSE?如果是这样的话,我如何告诉GCC编译器我希望数组在哪里
对齐
?
浏览 3
提问于2014-07-18
得票数 2
2
回答
将HDD扇区大小切换到4096
字节
、
我有一些HDD磁盘,它有4096个物理扇区大小和512
字节
逻辑大小。这是SATA磁盘。现在,我想使用
Linux
中的4kiB作为逻辑扇区大小-而不是512
字节
。我怎样才能做到这一点?如何确保我创建的所有分区都
对齐
了4 4kiB?是否需要手动计算给定分区的开始和结束扇区数才能
对齐
4 4kiB? 我正在使用
Linux
,有时还使用Windows。我主要是使用
Linux
创建分区,而不是使用Windows。也许使用"fdisk -b 4096“就足够了?嗯..。可能不会,
浏览 0
提问于2020-01-17
得票数 4
回答已采纳
3
回答
我应该与mkl_malloc
对齐
的值是多少?
、
、
、
、
更新:我尝试过使用mkl_sparse_spmm,但没有注意到将
对齐
设置为2到1024
字节
的性能差异很大,之后性能趋于下降。我用的是英特尔Xeon E5-2683。
浏览 1
提问于2018-08-03
得票数 4
回答已采纳
1
回答
当调用read()和write()时返回“无效参数”
、
、
、
、
data_ptr与512
字节
对齐
,并在java中声明为
字节
数组。
浏览 2
提问于2015-01-27
得票数 2
回答已采纳
2
回答
main()的序言中堆栈指针
对齐
的目的是什么?
、
、
、
也就是说,为什么$esp应该指向一个16
对齐
的地址?
浏览 9
提问于2015-11-23
得票数 10
回答已采纳
2
回答
C结构中的
对齐
/填充
align; ULONG magicTemp;} GatewayStatus;我概括了我的问题,而不考虑上面的结构,在什么情况下我们必须在编程上
对齐
,什么情况下编译器会为我们做这件事?填充是否需要两台具有不同
字节
顺序类型的机器,即一台m/c为高
字节
顺序,另一台为低
字节
顺序?谢谢!
浏览 0
提问于2012-04-26
得票数 0
1
回答
64位计算机上的结构
对齐
、
、
我在64位
Linux
机器上有以下结构。unsigned int slock;现在,我想了解一下在遵循LP64标准的64位__wait_queue_head计算机上结构__wait_queue_head的
对齐
情况spinlock_t lock 是一个无符号整数,它在64位机器上占用4个
字节
,这个结构应该从一个4
字节
对齐
的地址开始。然而,我已经看到在真实的系统上不是这样的。相反,结构从8
字节
对齐
的地址开始,尽管4
字节</em
浏览 8
提问于2012-04-12
得票数 3
回答已采纳
7
回答
使用杂注包(1)时是否存在性能问题?
、
据我所知,它将结构的
对齐
方式从默认的8
字节
更改为1
字节
。 假设所有东西都运行在32位
Linux
(可能也是Windows )上,这种打包
对齐
是否会对性能造成影响?
浏览 2
提问于2011-10-17
得票数 14
回答已采纳
2
回答
对齐
、总大小和SSE
、
、
、
、
在那个教程中,他们讨论的是内存
对齐
,所以我开始尝试理解它是如何工作的。 float data[4]; { float y; };使用联合,确保point type对SSE
对齐
(我读取的是16
字节
对齐
的 ),并且使用结构可以访问轴值。
浏览 9
提问于2013-12-17
得票数 1
回答已采纳
1
回答
C中不需要作为编译器的大小结构不添加填充
、
、
因此,我希望编译器能够填充额外的
字节
。这是我的问题。char(1
字节
)+3
字节
填充+ int(4
字节
)+ double(8
字节
)+ (void*)(4
字节
),它等于20
字节
加上4
字节
,这是由于最长的成员
对齐
规则(在这里双为8
字节
,因此结构应该在8
字节
边界上
对齐
),最后加到24
字节
。所以总大小应该是24个
字节
。为什么它只显示20个
字节</e
浏览 3
提问于2014-01-13
得票数 4
回答已采纳
1
回答
精灵go二进制文件默认
字节
对齐
、
、
根据经验,我看到go ELF二进制文件使用16
字节
对齐
。例如:$ readelf-W -s gardenctl-
linux
-amd64 | grep -E "FUNC" | wc -l$ readelf -W -s garde
浏览 8
提问于2021-07-26
得票数 0
回答已采纳
2
回答
在GNU汇编程序中“警告:节.bss:
对齐
2**32不代表”是什么意思?
、
、
、
使用MinGW-w64附带的GNU版本组装由我的编译器生成的x86汇编代码会产生以下警告:那是什么意思?最让我困惑的是,汇编代码根本没有提到.bss。 我不知道它是否相关,但是CygWin附带的GNU汇编程序版本和TDM附带的版本GC
浏览 6
提问于2021-05-08
得票数 0
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
结构体对齐,字节对齐
Python 字节码介绍 Linux 中国
为什么计算机采用 8 位字节|Linux 中国
字节跳动利用AI对Linux内核进行优化 显著提高效率
字节跳动火山引擎加入 Linux 云原生计算基金会(CNCF)
热门
标签
更多标签
云服务器
ICP备案
对象存储
云直播
腾讯会议
活动推荐
运营活动
广告
关闭
领券