此问题在此处已有答案:
How do I leave memory uninitialized in GNU ARM assembly?(2个答案)
26天前关闭。
我想在.bss段中声明一个向量,但我不确定如何做。我希望向量有30000个字节。
我曾试图把一些C代码编译成汇编,但我不太明白生成的代码是如何工作的,结果是:
.bss
.align 32
.type v, @object
.size v, 2000
v:
.zero 2000
.section .rodata
我不是很明白所有的说明。
1条答案
按热度按时间iyfamqjs1#
.bss
声明以下语句将描述bss部分的一部分。.align 32
声明此地址应对齐到32字节。这样做是为了正确构建RAM并防止一些未对齐问题。这些声明了v对象的大小和类型。大小被声明为2000。
这是空间的实际分配。
.zero 2000
分配由v
标签所指向的2000字节的归零存储器。通过这些,您可以执行以下操作:
以最基本的方式分配30000字节。