Arm 32位程序向Arm 64位迁移
Posted Justin-Yip
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Arm 32位程序向Arm 64位迁移相关的知识,希望对你有一定的参考价值。
Arm 64位迁移
C语言数据模型ILP32,LP64异同
Data Type | ILP32(bits) | LP64(bits) |
---|---|---|
char | 8 | The Same |
short | 16 | the Same |
int | 32 | the Same |
long long | 64 | the Same |
long | 32 | 64 |
pointer | 32 | 64 |
迁移风险点
- 数据截断
- 缺乏原型的截断 : 若函数被调用时没有指定函数原型,返回值将是32位的
int
,
- 缺乏原型的截断 : 若函数被调用时没有指定函数原型,返回值将是32位的
- 格式指定符
指定32bits 长度。 - 赋值截断
- 由大转小 : 数据类型长度由大转小,将导致数据截断。
- 被截断的参数
- 转换截断
More details plz see:
ARM.Reference_Manual
以上是关于Arm 32位程序向Arm 64位迁移的主要内容,如果未能解决你的问题,请参考以下文章
指令,操作系统位数,32位与64位 x86 arm 处理器 ,概念概览
在 32 位处理器 (ARM Cortex A9) 中使用 64 位数据的问题
Google Play Store 上发布的所有 Android 应用程序是不是必须同时支持 ARM 和 Intel(32/64)位架构?