腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
如何解释数据类型大小及其
对齐
方式?
、
、
、
关于
linux
/gcc中double类型的大小/
对齐
,我有一个问题。在上,它写着: 我知道一个
8
字节
的数据类型是如何
对齐
的,存储在内存中。其次,我们如何可视化
8</em
浏览 5
提问于2017-07-01
得票数 0
回答已采纳
1
回答
新操作符的C++
对齐
,有多重要?
、
据我理解,64位
linux
系统上的指针大小为
8
字节
,
对齐
的要求应该是
8
字节
对齐
。如果是这样,那么为什么新运算符返回16
字节
(可能是32,但这个数字大于
8
)
对齐
指针又有什么关系呢?* c1 = new SimpleChar; 指针的16
字节
对齐
是否有必要由操作符返回
浏览 1
提问于2018-02-07
得票数 2
1
回答
为什么结构填充不正常?
、
#include<stdio.h> { double e;}A; { return 0;它的输出是16。如果我们把结构内部填充和结构填充作为一个整体来考虑,难道不是24吗?
浏览 1
提问于2015-04-25
得票数 6
回答已采纳
2
回答
数据
对齐
:在哪里可以读取?能改吗?
、
、
这是一本关于内存中基本类型的数据
对齐
的书。 Microsoft对提出了更强的
对齐
要求--任何K
字节
的原始对象,对于K= 2、4或
8
,都必须有一个K的倍数的地址,特别是,它要求双或长的地址是
8
的倍数。
Linux
约定(
8
字节
值在4
字节
边界上
对齐
)可能对i386很有好处,因为当时内存不足,内存接口只有4
字节
宽。有了现代处理器,微软的调整是一个更好的设计决策。数据类型long double,gcc生成分配1
浏览 2
提问于2011-12-15
得票数 2
回答已采纳
4
回答
为什么数据结构
对齐
对性能很重要?
、
、
、
有没有人能给我一个简短而可信的解释,解释为什么编译器为了
对齐
其成员而向数据结构添加填充?我知道这样做是为了让CPU能够更有效地访问数据,但我不明白为什么会这样。如果这只与CPU相关,为什么双4
字节
在
Linux
中
对齐
,而在Windows中
8
字节
对齐
?
浏览 5
提问于2010-01-05
得票数 30
回答已采纳
2
回答
C结构中的
对齐
/填充
align; ULONG magicTemp;} GatewayStatus;我概括了我的问题,而不考虑上面的结构,在什么情况下我们必须在编程上
对齐
,什么情况下编译器会为我们做这件事?填充是否需要两台具有不同
字节
顺序类型的机器,即一台m/c为高
字节
顺序,另一台为低
字节
顺序?谢谢!
浏览 0
提问于2012-04-26
得票数 0
6
回答
堆栈分配、填充和
对齐
、
、
、
、
buffer[5];asmtest.smovl %esp, %ebpleave令我困惑的是,为什么要为堆栈分配24个
字节
我知道由于处理器如何寻址内存,堆栈必须以4为增量进行分配,但如果是这种情况,我们应该只将堆栈指针移动
8
字节
,而不是24
字节
。作为参考,17
字节
的缓冲区产生的堆栈指针移动了40
字节
,根本没有缓冲区移动堆栈指针
8
。1和16
字节
之间的缓冲区移动了ESP
浏览 2
提问于2009-06-30
得票数 50
回答已采纳
2
回答
如何修复结构填充的C++ gcc编译警告
、
、
、
QString name; // [...]当我在Ubuntu18.04上使用gcc的标准版本构建它时,我会收到如下警告: 我知道这个警告的出现是因为编译器需要将我的结构的填充调整为一些我可能没有预料到的东西,并且非常好地警告我这个用户。我希望修改这个结构的代码,以便我的
对齐
期望是显式的,并且匹配编译器想做的任何事情,因此不需要显示警告。
浏览 0
提问于2018-08-26
得票数 5
回答已采纳
2
回答
在
linux
和32位进程的VS上,多少是不同的?即使使用“#语用包”和"-fpack-struct“
#include "stdio.h" struct testSize { double b;printf("sizeof int %d , sizeof double %d\n", sizeof(int), sizeof(double)); } 结构的默认最大
对齐
方式是
8
,我们也可以通过#pragma pack(
8</
浏览 0
提问于2019-02-01
得票数 0
回答已采纳
4
回答
关于内存
对齐
,malloc做了哪些保证?
、
、
看看输出,我可以看到起始地址是
8
的倍数。还有其他规则吗?
浏览 7
提问于2011-12-20
得票数 21
回答已采纳
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) => <em
浏览 11
提问于2015-07-16
得票数 0
回答已采纳
1
回答
ARM -为什么gcc要为单个字符分配12个
字节
?
、
、
、
我有以下代码:{} 当我用arm-
linux
-gnueabihf-gcc -o align.txt -O0现在,我知道ARM EABI要求堆栈是
8
字节
对齐
的,这就解释了gcc分配了比a所需的单
字节
更多的空间。然而,我原以为它会分配4个
字节
来为a和3个填充
字节
腾出空间。看起来它分配了4个
字节
来使推送的r7
对齐
,然后再分配
8
浏览 2
提问于2015-12-10
得票数 1
3
回答
包装的结构没有预期的大小。
、
const int kMyPackedStructSize = sizeof(MyPackedStruct); 我本来希望kMyPackedStructSize是4个
字节
浏览 5
提问于2015-09-02
得票数 1
回答已采纳
7
回答
使用杂注包(1)时是否存在性能问题?
、
据我所知,它将结构的
对齐
方式从默认的
8
字节
更改为1
字节
。 假设所有东西都运行在32位
Linux
(可能也是Windows )上,这种打包
对齐
是否会对性能造成影响?
浏览 2
提问于2011-10-17
得票数 14
回答已采纳
1
回答
主堆栈
对齐
、
、
、
、
mov rax, 0我像这样组装和连接ld hello.o -dynamic-linker /lib64/ld-
linux
-x86%f',10,0section .text sub rsp,
8
lea rdi但是,在调用printf之前,我必须从堆栈指针中减去
8
个
字节
,然后再将
8</
浏览 0
提问于2014-11-11
得票数 6
回答已采纳
2
回答
Int32_t的比对要求:gcc/
Linux
86与amd64
、
、
、
、
首先我们讨论一下x86/
linux
(x86,amd64)和c99。#include <stdint.h> { *num = 17;{ f(&buf[3]);问题是它是UB吗?从一只手Intel CPU允许非
对齐
访问,从另一只手我发现了这一点: 和他们都提到了4
字节
浏览 1
提问于2015-05-18
得票数 2
2
回答
main()的序言中堆栈指针
对齐
的目的是什么?
、
、
、
也就是说,为什么$esp应该指向一个16
对齐
的地址?
浏览 9
提问于2015-11-23
得票数 10
回答已采纳
2
回答
汇编语言程序员在
Linux
/x86-64系统调用中的结构布局?
、
、
、
、
许多
linux
/x86-64系统调用都接受指向结构的指针作为参数。 }; 这意味着如果你想从纯程序集调用syscall,那么你必须知道每种类型有多大的规则,以及成员之间是否有任何填充用于
对齐
浏览 3
提问于2013-01-16
得票数 9
回答已采纳
1
回答
内核中
8
字节
对齐
的空闲连续页面列表
、
、
、
、
谁能告诉我有没有
Linux
内核API可以给我免费的连续页面列表,起始页面地址是
8
字节
对齐
的? 我需要获得连续的物理内存,而不是虚拟内存。
浏览 7
提问于2012-07-06
得票数 0
回答已采纳
1
回答
printf - NASM 64位
Linux
上的分割故障
、
、
、
、
我尝试使用scanf输入四个浮动,将它们存储到堆栈中,然后使用vmovupd将它们复制到寄存器中供使用。我的问题是,当我试图输出这4个数字时,程序会在printf上设置错误。您会注意到,我包含了一个名为debug的文件。它允许我查看寄存器和堆栈(这就是为什么有一个dumpstack指令)。这是由我的教授提供的,它确实帮助了一些人,但显然是不够的(或者我只是遗漏了什么)。#include <iostream> us
浏览 6
提问于2014-09-05
得票数 2
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
结构体对齐,字节对齐
为什么计算机采用 8 位字节|Linux 中国
Python 字节码介绍 Linux 中国
Linux:Red Hat Enterprise Linux 8 Beta 发布
细数常见的8个java输入字节流
热门
标签
更多标签
云服务器
ICP备案
对象存储
腾讯会议
云直播
活动推荐
运营活动
广告
关闭
领券