腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
4
回答
禁止
x86
/
x86_64
上
未
对齐
的
内存
访问
linux
、
debugging
、
x86
、
memory-alignment
我想在
x86
/
x86_64
上
模拟
禁止
未
对齐
内存
访问
的
系统。有没有什么调试工具或特殊模式可以做到这一点?
在
使用为SPARC或其他类似CPU设计
的
软件(C/C++)时,我希望
在
几台
x86
/
x86_64
PC
上
运行许多(CPU密集型)测试。但我对Sparc
的
访问
是有限<
浏览 0
提问于2012-08-07
得票数 15
回答已采纳
4
回答
在
x64处理器
上
,字
对齐
的
加载速度比
未
对齐
的
加载快吗?
c
、
alignment
、
x86-64
在
x86
/64 (Intel/AMD 64位)处理器
上
,字边界
上
对齐
的
变量加载速度是否比
未
对齐
的
加载操作快?struct A { char a;
浏览 1
提问于2012-02-20
得票数 10
回答已采纳
2
回答
如何捕获
未
对齐
的
内存
访问
?
c
、
linux
、
arm
、
memory-alignment
我正在做一个宠物开源项目,它实现了一些流密码算法,但我遇到了一个只有
在
ARM处理器
上
运行它时才会触发
的
bug。我甚至尝试过
在
qemu下运行
x86
中
的
ARM二进制文件,但是错误并没有在这里触发。bug
的
具体机制仍然难以捉摸,但我最好
的
办法是相信它是由我
的
程序中
进行
的
未
对齐
内存
访问
尝试引起
的
,该尝试由qemu完成,
浏览 1
提问于2013-05-15
得票数 18
回答已采纳
1
回答
如果我将已经分配
的
内存
块分割成更小
的
块,那么我还需要担心
内存
对齐
问题吗?
c
、
windows
、
winapi
、
memory-management
我正在用C语言
在
x86
和/或64位Windows平台上编写一个程序.我使用VirtualAlloc分配了大量
内存
。现在,
在
我
的
程序中,我将使用我自己编写
的
内存
分配器,在运行时将这个
内存
空间分配给程序
的
各个部分。将被打包到这块
内存
中
的
数据包括位图、wav文件等。我
的
问题是,如果我已经从VirtualAlloc分配了一个连续
的
(已经
对齐
)块
浏览 1
提问于2016-03-01
得票数 0
回答已采纳
3
回答
成功
的
未
对齐
访问
对
x86
的
实际影响是什么?
performance
、
memory
、
x86
、
alignment
、
memory-alignment
我总是听说
未
对齐
的
访问
是不好
的
,因为它们要么会导致运行时错误并使程序崩溃,要么会减慢
内存
访问
速度。然而,我找不到任何实际
的
数据来说明他们会在多大程度上放慢速度。假设我
在
x86
上
,有一些(尚不清楚)
未
对齐
的
访问
--实际
上
最糟糕
的
减速可能是什么,
在
不消除所有
未
<
浏览 0
提问于2012-09-19
得票数 25
1
回答
32位机器中不是4
的
倍数
的
内存
地址可以到达吗?
assembly
我偶然发现了一段汇编代码,就像下面这样return str[3];0804834f <fourth>:8048350: 89 e5 mov %esp,%ebp8048355: 83 c0 03 add $0x3,%eax804835c: c9 leave为什么会达到M(%eax)+3?
浏览 0
提问于2011-11-03
得票数 2
回答已采纳
4
回答
访问
未
对齐
的
结构成员
c
、
compiler-construction
、
operating-system
、
access-violation
、
memory-alignment
我想测试一下是否可以
在
C中
访问
结构
的
未
对齐
成员,请参阅代码 (*p)++ , (*q)++; 假设程序会由于
内存
访问
不
对齐
导致
的
异常而崩溃,但事实证明它工作得很好,已经
在</e
浏览 8
提问于2013-03-13
得票数 2
1
回答
多核
x86
读取或写入
未
对齐
的
数据
multithreading
在
x86
上
,假设我有一个跨越缓存线边界
的
未
对齐
的
数据项,比如地址0x1fff到0x2003,其中包含小端32位
的
值0x11223344。如果核心A
上
的
线程A对该地址执行0x55667788
的
写入,而核心B
上
的
线程B“同时”执行相同地址
的
读取,那么该线程B是否可能读取旧
的
和新值
的
混合?换句话说,由于A
的<
浏览 2
提问于2014-12-05
得票数 1
2
回答
Boost aligned_allocator
的
对齐
参数是什么意思?
c++
、
boost
、
memory-alignment
有一个Boost教程给出了大致如下
的
代码,并针对我
的
问题做了一些修改:#include <vector>{ aligned_allocator<int, 16> > v(100);在这个例子中,给出了一个16
的
对准参数这是否表示
对齐
的
16字节,或
浏览 5
提问于2015-09-16
得票数 2
回答已采纳
2
回答
在
目标CPU
上
检测
对齐
内存
需求
c
、
cpu-architecture
、
memory-alignment
、
predefined-macro
我目前正在努力构建一个代码,它应该可以工作
在
各种各样
的
机器
上
,从手持口袋和传感器到数据中心
的
大型服务器。 这些体系结构之间
的
(许多)区别之一是对
对齐
内存
访问
的
需求。“标准”
x86
CPU不需要
对齐
内存
访问
,但许多其他CPU需要它,如果不遵守规则,则会产生异常。到目前为止,我一直
在
处理这个问题,通过强制编译器对已知有风险
的
特定数据
浏览 0
提问于2012-02-17
得票数 3
回答已采纳
3
回答
在
x86
上
,如果[mem]不是32位
对齐
的
,"lock inc [mem]“还能正常工作吗?
multithreading
、
assembly
、
x86
、
multiprocessing
在
x86
上
,如果mem是32位
对齐
的
,那么mov操作就可以保证是原子
的
。很好地工作:提供原子性,而不是获取部分值。
浏览 4
提问于2012-07-26
得票数 6
回答已采纳
2
回答
未
对齐
内存
上
的
reinterpret_cast
c++
char* buffer = receivedFromSomeWhere(); 如果buffer + 0是按照int
的
大小
对齐
的
,那么buffer + 1很可能是
在
未
对齐
内存
上
对齐
的
。默认
的
复制构造函数可能会很高兴地复制两个
未
对齐
的
int成员a和b。<
浏览 2
提问于2013-08-08
得票数 10
回答已采纳
3
回答
从多线程读取int是安全
的
吗?
c
、
linux
、
multithreading
、
gcc
、
pthreads
我有多个线程读取相同
的
int变量。一个线程正在写入值。我唯一关心
的
是同时写入和读取int值是不是
内存
安全? 并且它不会导致任何应用程序崩溃。
浏览 2
提问于2011-09-29
得票数 7
回答已采纳
1
回答
为什么堆栈帧是16字节长
的
倍数?
alignment
、
simd
、
sse
、
memory-alignment
、
stack-frame
CSAPP解释说,SSE指令对16字节
的
数据块
进行
操作,它需要
内存
地址是16
的
倍数。 但是与堆栈框架有什么关系呢?这是否意味着SSE指令
在
堆栈帧
上
运行?如果是的话,常用
的
指令是什么?
浏览 1
提问于2016-02-29
得票数 3
回答已采纳
2
回答
LUT及类似产品
的
L1/L2缓存行为是什么?
c++
、
caching
、
lookup-tables
、
cpu-cache
假设64位双精度类型
的
LUT为512KB。一般来说,CPU如何缓存L1或L2中
的
结构?注意:我假设是
x86
,但我有兴趣了解POWER、SPARC等其他架构是如何工作
的
。
浏览 0
提问于2010-12-03
得票数 4
3
回答
在
iOS 4.0
的
iPhone 3GS
上
,非8字节
对齐
的
内存
访问
导致
内存
访问
冲突
iphone
、
memory
、
malloc
、
arm
、
objective-c++
它在iPhone
上
出现EXC_BAD_ACCESS时崩溃( iOS 4.0下为3GS)。它在模拟器中工作正常。这显然是一个
内存
对齐
问题,因为如果"DataA“结构以8字节边界开始,那么它在iPhone上工作得很好。 有谁能解释原因吗?是不是跟ARM架构有关?ARM编译器?
浏览 0
提问于2010-08-09
得票数 2
回答已采纳
5
回答
malloc()/free()
的
对齐
限制
c
、
memory
、
malloc
、
allocation
较老
的
K&R (第二版)我读过
的
其他一些讨论malloc()和free()风格
的
动态
内存
分配器实现
的
C语言文章通常也会顺便提到一些关于数据类型
对齐
限制
的
内容。显然,某些计算机硬件体系结构(CPU、寄存器和
内存
访问
)限制了存储和寻址某些值类型
的
方式。例如,可能要求必须从4
的
倍数
的
地址开始存储4字节(long)整数。主要平台(Intel和AMD、SPARC、Alpha)对<em
浏览 0
提问于2008-08-30
得票数 9
1
回答
是否存在
未
对齐
的
数据会导致
x86
CPU产生异常
的
情况?
exception
、
assembly
、
x86
我读到过一些CPU
在
尝试
访问
未
对齐
的
数据时会产生异常。 根据我
的
测试,当尝试
访问
未
对齐
的
数据时,
x86
CPU不会产生异常,但我想知道是否存在
未
对齐
的
数据会导致
x86
CPU产生异常
的
情况?
浏览 0
提问于2017-08-24
得票数 4
2
回答
Android原生代码
在
thumb模式下崩溃,但在arm模式下不崩溃
android-ndk
、
arm
我正在尝试使用android NDK编译和运行android平台
的
本机代码。
在
代码中
的
许多地方,我试图将一个短整型指针转换为一个整型指针,因此,尽管它可以与
X86
正常工作,但它仍然存在
内存
对齐
问题。我
在
thumb模式下编译代码,由于上面提到
的
未
对齐
访问
,代码是carshing。但是如果我
在
ARM模式下编译代码,它不会崩溃,也不会正常工作。我
的
疑问是,为什么代码<e
浏览 1
提问于2012-04-02
得票数 2
点击加载更多
热门
标签
更多标签
云服务器
对象存储
ICP备案
云点播
腾讯会议
活动推荐
运营活动
广告
关闭
领券