#include <stdio.h>
 #include <time.h>
/*
  * 字节型数组
  */
int main()
 {
     struct tm t;
     time_t unix_time;
     int i=0, j=0;
unix_time = time(NULL);
localtime_r(&unix_time, &t);
    for (i = 0; i < 9; i++) {
         for (j = 0; j < 4; j++)
             printf("0x%02X ", ((unsigned char *)&t)[i*4+j]);
         
         printf("\n");
     }
    return 0;
 }
#if 0
 /*
  * intel
  */
 00000000000011c9 <main>:
     11c9:    f3 0f 1e fa              endbr64 
     11cd:    55                       push   %rbp
     11ce:    48 89 e5                 mov    %rsp,%rbp
     11d1:    48 83 ec 50              sub    $0x50,%rsp
     11d5:    64 48 8b 04 25 28 00     mov    %fs:0x28,%rax
     11dc:    00 00 
     11de:    48 89 45 f8              mov    %rax,-0x8(%rbp)
     11e2:    31 c0                    xor    %eax,%eax
     11e4:    c7 45 b0 00 00 00 00     movl   $0x0,-0x50(%rbp)
     11eb:    c7 45 b4 00 00 00 00     movl   $0x0,-0x4c(%rbp)
     11f2:    bf 00 00 00 00           mov    $0x0,%edi
     11f7:    e8 d4 fe ff ff           callq  10d0 <time@plt>
     11fc:    48 89 45 b8              mov    %rax,-0x48(%rbp)
     1200:    48 8d 55 c0              lea    -0x40(%rbp),%rdx
     1204:    48 8d 45 b8              lea    -0x48(%rbp),%rax
     1208:    48 89 d6                 mov    %rdx,%rsi
     120b:    48 89 c7                 mov    %rax,%rdi
     120e:    e8 8d fe ff ff           callq  10a0 <localtime_r@plt>
     1213:    c7 45 b0 00 00 00 00     movl   $0x0,-0x50(%rbp)        // x=0
     121a:    eb 52                    jmp    126e <main+0xa5>        // for x
     121c:    c7 45 b4 00 00 00 00     movl   $0x0,-0x4c(%rbp)        // y=0
     1223:    eb 35                    jmp    125a <main+0x91>        // for y
     1225:    8b 45 b0                 mov    -0x50(%rbp),%eax
     1228:    8d 14 85 00 00 00 00     lea    0x0(,%rax,4),%edx    // edx=x*4+0x0
     122f:    8b 45 b4                 mov    -0x4c(%rbp),%eax        // eax=y
     1232:    01 d0                    add    %edx,%eax            
     1234:    48 98                    cltq                        // rax=y+x*4
     1236:    48 8d 55 c0              lea    -0x40(%rbp),%rdx        // rdx=rbp-0x40
     123a:    48 01 d0                 add    %rdx,%rax            // rax=rbp-0x40+x*4+y
     123d:    0f b6 00                 movzbl (%rax),%eax            // eax=(rbp-0x40+x*4+y)
     1240:    0f b6 c0                 movzbl %al,%eax                // eax=al
     1243:    89 c6                    mov    %eax,%esi
     1245:    48 8d 3d b8 0d 00 00     lea    0xdb8(%rip),%rdi        # 2004 <_IO_stdin_used+0x4>
     124c:    b8 00 00 00 00           mov    $0x0,%eax
     1251:    e8 6a fe ff ff           callq  10c0 <printf@plt>    
     1256:    83 45 b4 01              addl   $0x1,-0x4c(%rbp)        // y++
     125a:    83 7d b4 03              cmpl   $0x3,-0x4c(%rbp)        // y-0x3
     125e:    7e c5                    jle    1225 <main+0x5c>        // for y
     1260:    bf 0a 00 00 00           mov    $0xa,%edi
     1265:    e8 26 fe ff ff           callq  1090 <putchar@plt>
     126a:    83 45 b0 01              addl   $0x1,-0x50(%rbp)        // x++
     126e:    83 7d b0 08              cmpl   $0x8,-0x50(%rbp)        // x-0x8
     1272:    7e a8                    jle    121c <main+0x53>        // for x
     1274:    b8 00 00 00 00           mov    $0x0,%eax
     1279:    48 8b 4d f8              mov    -0x8(%rbp),%rcx
     127d:    64 48 33 0c 25 28 00     xor    %fs:0x28,%rcx
     1284:    00 00 
     1286:    74 05                    je     128d <main+0xc4>
     1288:    e8 23 fe ff ff           callq  10b0 <__stack_chk_fail@plt>
     128d:    c9                       leaveq 
     128e:    c3                       retq   
     128f:    90                       nop
/*
  * arm
  */
 000000000040064c <main>:
   40064c:    a9ba7bfd     stp    x29, x30, [sp, #-96]!
   400650:    910003fd     mov    x29, sp
   400654:    b9005fbf     str    wzr, [x29, #92]
   400658:    b9005bbf     str    wzr, [x29, #88]
   40065c:    d2800000     mov    x0, #0x0                       // #0
   400660:    97ffffa4     bl    4004f0 <time@plt>
   400664:    f9000fa0     str    x0, [x29, #24]
   400668:    910083a1     add    x1, x29, #0x20
   40066c:    910063a0     add    x0, x29, #0x18
   400670:    97ffff9c     bl    4004e0 <localtime_r@plt>
   400674:    b9005fbf     str    wzr, [x29, #92]
   400678:    1400001a     b    4006e0 <main+0x94>
   40067c:    b9005bbf     str    wzr, [x29, #88]
   400680:    14000010     b    4006c0 <main+0x74>
   400684:    b9405fa0     ldr    w0, [x29, #92]
   400688:    531e7401     lsl    w1, w0, #2
   40068c:    b9405ba0     ldr    w0, [x29, #88]
   400690:    0b000020     add    w0, w1, w0
   400694:    93407c00     sxtw    x0, w0
   400698:    910083a1     add    x1, x29, #0x20
   40069c:    8b000020     add    x0, x1, x0
   4006a0:    39400000     ldrb    w0, [x0]
   4006a4:    2a0003e1     mov    w1, w0
   4006a8:    90000000     adrp    x0, 400000 <_init-0x4a8>
   4006ac:    911ea000     add    x0, x0, #0x7a8
   4006b0:    97ffffa0     bl    400530 <printf@plt>
   4006b4:    b9405ba0     ldr    w0, [x29, #88]
   4006b8:    11000400     add    w0, w0, #0x1
   4006bc:    b9005ba0     str    w0, [x29, #88]
   4006c0:    b9405ba0     ldr    w0, [x29, #88]
   4006c4:    71000c1f     cmp    w0, #0x3
   4006c8:    54fffded     b.le    400684 <main+0x38>
   4006cc:    52800140     mov    w0, #0xa                       // #10
   4006d0:    97ffff9c     bl    400540 <putchar@plt>
   4006d4:    b9405fa0     ldr    w0, [x29, #92]
   4006d8:    11000400     add    w0, w0, #0x1
   4006dc:    b9005fa0     str    w0, [x29, #92]
   4006e0:    b9405fa0     ldr    w0, [x29, #92]
   4006e4:    7100201f     cmp    w0, #0x8
   4006e8:    54fffcad     b.le    40067c <main+0x30>
   4006ec:    52800000     mov    w0, #0x0                       // #0
   4006f0:    a8c67bfd     ldp    x29, x30, [sp], #96
   4006f4:    d65f03c0     ret
#endif