0

我需要通过为函数和全局、局部结构、变量生成汇编代码来了解数据结构的一些内部结构。

从这个链接:

http://axelio.wordpress.com/2007/07/24/be-careful-with-packed-structures/

我可以看到结构成员在汇编代码中明确显示了分配的大小。

_my:
    .byte   10  <--- c
    .long   20  <--- i
    .byte   30  <--- s.c
    .space 3    <--- 3 bytes of alignment
    .long   40  <--- s.i

如何生成这种程序集。使用

# gcc -S  file.c 

没有为结构生成上述输出。

4

1 回答 1

0

确实如此。

struct S
{
  int x;
  float y;
};

struct S t = {
  .x = 10,
  .y = 1.0
};

编译gcc -S strasm.c

结果strasm.s你会看到:

  .data
  .type t, @object
  .size t, 8
t:
  .long 10
  .long 1065353216

您所需要的只是显式初始化的对象。

于 2013-02-01T13:17:36.600 回答