Linux C

系统函数是内核提供给应用程序的接口

而要理解内核的工作原理,必须熟练掌握C语言

因为内核也是C语言编写的

编译时要加上 -g 选项

生成的可执行文件才能用 gdb 进行源码级调试

-g 选项的作用是在可执行文件中加入源代码的信息  

比如可执行文件中第几条机器指令 对应源码的第几行

但并不是把整个源码文件嵌入可执行文件中

所以在调试时必须gdb能找到源文件

gdb提供一个类似shell 的环境

如果在编译时 加上 -g 选项

那么用 objdump反汇编时 就可以把C代码和汇编代码穿插起来显示

这样C代码和汇编代码的对应关系看的更清楚

ELF 文件:ELF文件是一种开放标准,各种UNIX系统的可执行文件都采用ELF文件格式

它有三种不同的类型

可重定位的目标文件 Relocatable

可执行文件 Executable

共享库 Share Object

原文地址:https://www.cnblogs.com/Cheetos/p/5343249.html