- 博客(5)
- 资源 (18)
- 收藏
- 关注
原创 C程序的基础系统代码
一、简单C程序的构建过程:[root@test]# gcc -v hello.c //首先是gcc搜集系统信息Using built-in specs.COLLECT_GCC=gccCOLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.2/lto-wrapperTarget: x86_64-redhat-
2016-05-31 10:00:02 718
原创 Bourne Shell编程杂记
首先强调一下,Bourne Shell数据类型的概念极简单:一切变量的值,都是字符串。所以,也可以认为,Bourne Shell只有一种基本数据类型,那就是字符串。由于数据类型太简单,所以脚本中若要进行各种数学运算,只能借助其他程序(例如,expr程序)来完成。其他程序计算出的结果,在脚本中仍然保存为一个字符串。脚本第一行固定为如下内容#!/bin/sh他表示这是一
2016-05-25 10:12:28 926
原创 利用libbfd获取elf可执行文件的section(节)及symbol(符号)信息
一. 安装bfd库libbfd(Binary File Descriptor library是binutils中附带的一个C库。从 http://ftp.gnu.org/gnu/binutils 下载binutils。我们这里下载binutils-2.23.2.tar.gz下载后,解压安装libbfd。方法如下:tar -xzf binutils-2.23.2.tar.gz
2016-05-19 19:46:24 7959
原创 C语言与ELF机器语言之间的关系
C语言对机器模型的抽象层次,恰到好处。C语言使得开发者,刚好从最底层的费力低效的汇编编程中解脱出来,而又没有进一步往上层做抽象。这样一来既大大提高了开发效率,又不失对程序行为的精确控制能力,还使程序获得了良好的可移植性。可谓一举三得。同时,基本C库的理念,也是只做确定正确的事。他所提供的,大体都是最小粒度的几乎不会有变数的基础例程。不过,本文是要谈一谈C源码与ELF之间的一些联
2016-05-18 18:22:52 1414
原创 Linux下进程的退出
注意,本文说的是整个进程(一个进程可能包含多个线程)的退出。一个进程的退出,有可能是由进程自己的用户态代码主动退出的,也可能是由内核通过信号处理机制(如SIGKILL、SIGABRT)强制执行的。一、用户态主动退出有如下多种途径,直接main函数返回,调用exit调用_exit调用exit_group上面几种情况,前两者等价(All functions regi
2016-05-06 17:10:34 1331
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人