自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

joker0910的专栏

Light Up the sky!

  • 博客(13)
  • 资源 (2)
  • 收藏
  • 关注

转载 GCC简单的宏录制

在我们进行文本编辑的时候,经常会遇到一些需要进行重复操作的情况,比如将如下的内容:#include "stdio.h"#include "stdio.h"#include "stdio.h"#include "stdio.h"更改为:#include #include #include #include 当然这只是个简单例子,实际的情况可能更

2012-06-26 23:35:58 773

原创 ELF在Linux下的加载过程

主要函数调用:sys_execve   | - do_execve|| - search_binary_handler                    |- linux_binfmt= elf_format       |- elf_format-> load_elf_binary| - elf_entry = load_elf_interp()

2012-06-24 09:07:21 7644

转载 TCP_DEFER_ACCEPT

from:  http://blog.csdn.net/yanook/article/details/72025531. 设置TCP_DEFER_ACCEPTint val = 10; // time_outif (setsockopt(sock_descriptor, IPPROTO_TCP, TCP_DEFER_ACCEPT, &val, sizeof(val))==

2012-06-23 20:34:38 959

转载 GOT(全局偏移表)和PLT(过程链接表)

全局偏移表(GOT)和过程链接表(PLT) ELF 格式的共享库使用 PIC 技术使代码和数据的引用与地址无关,程序可以被加载到地址空间的任意位置。PIC 在代码中的跳转和分支指令不使用绝对地址。PIC 在 ELF 可执行映像的数据段中建立一个存放所有全局变量指针的全局偏移量表 GOT对于模块外部引用的全局变量和全局函数,用 GOT 表的表项内容作为地址来间接寻址;对于本模

2012-06-22 17:36:15 1230

转载 HelloWorld... 不用C语言库,不用main函数

1.从程序员的自我修养上摘录的。2.这不是卖弄技巧,这是深入了解链接和编译。开始     使用c语言输出hello world,不用C语言库,不用main函数。怎么做?1. 我们需要printf这样的功能。2. 一段程序需要一个程序入口,C语言默认是main。     有这样的武器:1. GCC支持内嵌汇编。2. 使用汇编直接产生中断,可以使用系

2012-06-19 23:27:08 3447 1

原创 在驱动中写磁盘文件

驱动层是不可以调用标准库的,那么想要在驱动中直接写磁盘文件要怎么办?一、到底可不可行?这里的文章,详细地追踪了系统调用的实现,并提供了一种直接访问的方法。总结如下:     1.在系统调用open的流程中,会调用getname()函数,里面会使用get_fs()判断文件名字符串的地址,如果属于3~4G,也就是内核空间,返回错误。是用户空间的,则拷贝到内核空间。在系统调用read的流

2012-06-18 23:00:24 2648 1

原创 静态变量、全局变量在ELF文件中的位置

静态变量编译之后,被编译器放到了可执行文件的哪个字段? 以下实验在ubuntu10.04上完成,使用gcc4.4.3。测试源码如下:#include int g_val_init = 45;int g_val_uninit;static int s_global_inited = 12;static int s_global_uninited;stru

2012-06-17 22:20:27 10493

原创 ELF文件中section与segment的区别

1. ELF中的section主要提供给Linker使用, 而segment提供给Loader用,Linker需要关心.text, .rel.text, .data, .rodata等等,关键是Linker需要做relocation。而Loader只需要知道Read/Write/Execute的属性。a.out格式没有这种区分。(注意现在使用gcc编译出来的a.out文件只是取该名字而已,文件格式

2012-06-12 12:52:49 11188

转载 ELF和a.out文件格式的比较

本文讨论了 UNIX/LINUX 平台下三种主要的可执行文件格式:a.out(assembler and link editor output 汇编器和链接编辑器的输出)、COFF(Common Object File Format 通用对象文件格式)、ELF(Executable and Linking Format 可执行和链接格式)。首先是对可执行文件格式的一个综述,并通过描述 ELF 文件

2012-06-07 00:45:53 4937 1

原创 KMP--比较清晰的一份

/* * @FileName: simKMP.c * @Author: wzj * @Brief: * 1.测试版本的kmp * * * * * @History: * * * * @Date: 2012年06月03日星期日22:05:45 * */ #include #include #include //improved o

2012-06-03 23:41:07 793

原创 pthread---一次性初始化&&线程私有数据

一次性初始化    有时候我们需要对一些posix变量只进行一次初始化,如线程键(我下面会讲到)。如果我们进行多次初始化程序就会出现错误。    在传统的顺序编程中,一次性初始化经常通过使用布尔变量来管理。控制变量被静态初始化为0,而任何依赖于初始化的代码都能测试该变量。如果变量值仍然为0,则它能实行初始化,然后将变量置为1。以后检查的代码将跳过初始化。    但是在多线程程序设计中,

2012-06-03 14:11:10 9080 2

原创 进程之间<1>

调用fork之后, 生成的子进程继承了父亲的之前定义的句柄、局部变量、环境变量。也就是进程空间中,所有当前的数据。之后大家分道扬镳,各自为政。以下示例,展示了一种共享输出流造成的竞态。/* * @FileName: race.c * @Author: wzj * @Brief: * 1.1.演示一种简单的进程间竞态, * * * * * @Histo

2012-06-03 10:16:04 641

转载 Linux core 文件

1. core文件的简单介绍在一个程序崩溃时,它一般会在指定目录下生成一个core文件。core文件仅仅是一个内存映象(同时加上调试信息),主要是用来调试的。 2. 开启或关闭core文件的生成用以下命令来阻止系统生成core文件:ulimit -c 0下面的命令可以检查生成core文件的选项是否打开:ulimit -a该命令将显示所有的用户定制,其中选项-a代表“al

2012-06-03 00:58:40 652

dot.exe

dot.exe

2013-06-03

double stack

double stack, to analys the strings and automachine.

2013-06-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除