收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人
都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
.eh_frame为调试信息段
横着看:
size为段的长度
File off 为段所在的位置
为了详细了解每个段的内容,我们需要查看反汇编。
[mapan@localhost mapam]$ objdump -s -d test.o
test.o: file format elf64-x86-64
Contents of section .text:
0000 554889e5 4883ec10 897dfcb8 00000000 UH..H....}......
0010 8b55fc89 d64889c7 b8000000 00e80000 .U...H..........
0020 0000c9c3 554889e5 4883ec10 c745f801 ....UH..H....E..
0030 0000008b 15000000 008b0500 0000008d ................
0040 04020345 f80345fc 89c7e800 0000008b ...E..E.........
0050 45f8c9c3 E...
Contents of section .data:
0000 54000000 55000000 T...U...
Contents of section .rodata:
0000 25640a00 %d..
Contents of section .comment:
0000 00474343 3a202847 4e552920 342e342e .GCC: (GNU) 4.4.
0010 37203230 31323033 31332028 52656420 7 20120313 (Red
0020 48617420 342e342e 372d3138 2900 Hat 4.4.7-18).
Contents of section .eh_frame:
0000 14000000 00000000 017a5200 01781001 .........zR..x..
0010 1b0c0708 90010000 1c000000 1c000000 ................
0020 00000000 24000000 00410e10 8602430d ....$....A....C.
0030 065f0c07 08000000 1c000000 3c000000 ._..........<...
0040 00000000 30000000 00410e10 8602430d ....0....A....C.
0050 066b0c07 08000000 .k......
Disassembly of section .text:
0000000000000000 <func>:
0: 55 push %rbp
1: 48 89 e5 mov %rsp,%rbp
4: 48 83 ec 10 sub $0x10,%rsp
8: 89 7d fc mov %edi,-0x4(%rbp)
b: b8 00 00 00 00 mov $0x0,%eax
10: 8b 55 fc mov -0x4(%rbp),%edx
13: 89 d6 mov %edx,%esi
15: 48 89 c7 mov %rax,%rdi
18: b8 00 00 00 00 mov $0x0,%eax
1d: e8 00 00 00 00 callq 22 <func+0x22>
22: c9 leaveq
23: c3 retq
0000000000000024 <main>:
24: 55 push %rbp
25: 48 89 e5 mov %rsp,%rbp
28: 48 83 ec 10 sub $0x10,%rsp
2c: c7 45 f8 01 00 00 00 movl $0x1,-0x8(%rbp)
33: 8b 15 00 00 00 00 mov 0x0(%rip),%edx # 39 <main+0x15>
39: 8b 05 00 00 00 00 mov 0x0(%rip),%eax # 3f <main+0x1b>
3f: 8d 04 02 lea (%rdx,%rax,1),%eax
42: 03 45 f8 add -0x8(%rbp),%eax
45: 03 45 fc add -0x4(%rbp),%eax
48: 89 c7 mov %eax,%edi
4a: e8 00 00 00 00 callq 4f <main+0x2b>
4f: 8b 45 f8 mov -0x8(%rbp),%eax
52: c9 leaveq
53: c3 retq
objdump的-s参数可以将所有段的内容可以将所有段的内容以十六进制的方式打印出来,-d参数可以将指令的段反汇编。
对于Contents of section .text:最左面一列是偏移量,中间4列是十六进制内容,最右面一列是.text段的ASCII码形式。它是对.text的说明。
对于Contents of section .data:里面有2个值,54000000和55000000他们分别是示例代码中变量a和变量c。
对于.bss:
2 .bss 00000004 0000000000000000 0000000000000000 0000009c 2**2
它的大小是4,它存放代码示例中变量d,而变量b没有存放在.bss段,这是根编译器的实现有关。这里的变量b存放在.comment段,但是编译单元内部可见的静态变量是存放在.bss段的。
参考资料:程序员的自我修养
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新
!**
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新