zl程序教程

您现在的位置是:首页 >  工具

当前栏目

学习ARM开发(15)

2023-09-14 09:10:39 时间

使用GCC来开发ARM,就一定遇到编译器的问题。比如遇到编译C代码各种警告和错误。像我昨天就遇到了几个警告,那么就来看看这几个警告是什么引导的呢?

警告如下:

armlib/memory.c: 91 warning: cast increases required alignment of target type

这个警告是什么意思呢?从字面上来看,就是类型转换时,引起目标类型的存储方式排列改变。比如从一个char*指针转换为一个int*指针,就出这样的警告。比如:

char* pTest1;

int* pTest2;

pTest = (int*)pTest1;

这种转换就会有警告出现。

当然这种警告是设置了GCC的-Wcast-align 编译参数才会出现的。这种警告,就提示了不同的类型强制转换,会导致字节排列顺序的改变的危险。