- 博客(29)
- 资源 (11)
- 收藏
- 关注
原创 自己动手写printf -- 库函数printf的实现
大概去年夏天的时候,在《C和指针》里面一个练习题要求实现一个很简单的不包含打印浮点数功能的printf函数。但是很好奇,于是一直纠结下去,结果就是知道了printf的实现,自己也写了一个简单的。或许是夏天的原因吧,那时候暑假没回去,凌晨四点兴奋到不能睡觉。那时候刚开始写blog。没想整理一下,只是简单的把最重要的实现"工具"贴了一个blog在http://blog.csdn.net/cinmy
2014-04-27 17:25:43 16331 9
原创 Puzzle over “goto” goto背后发生了什么
int switch_eg_impl(int x, int n) { /* Table of code pointers */ static void *jt[7] = { &&loc_A, &&loc_def, &&loc_B, &&loc_C, &&loc_D, &&loc_def, &&loc_D };/* static void jt[7]
2014-04-24 22:46:13 1987
原创 《linux 内核完全剖析》 笔记 CODE_SPACE 宏定义分析
在memory.c里面,遇到一个宏定义,如下:#define CODE_SPACE(addr) ((((addr)+4095)&~4095) < \current->start_code + current->end_code)看的第一眼,不知道,第二眼,还是不知道,纠结了半天还是不知道。睡了一晚,今天早上再看,嘿嘿,居然看懂了。。。这个宏定义用于判断给定的addr线
2014-04-30 10:11:54 2144 1
原创 Do you really know what means initialization? “初始化 定义 赋值” 之间的联系与区别
“初始化 定义 赋值” 之间的联系与区别 本来很早之前就想写个blog,说说这三个家伙的区别和联系,三者之间各种联系,很难比较清楚的讲明白,感觉当时好像分析思路还不够“完整”。今天遇到别人抛出来的一个问题。根本的问题是和初始化和赋值有关系,于是留下这个blog。#include struct _ANIBMP{ int FirstNu
2014-04-29 13:35:12 1522
原创 《linux 内核完全剖析》 由逻辑地址转换成线性地址代码分析 get_base get_limit 代码分析笔记
一开始由这段代码引发的纠结get_base(current->ldt[1])下面是各个相关的代码,摘自不同的header files。。。current是指向当前task的指针struct desc_struct ldt[3];struct desc_struct {unsigned long a,b;} ;#define _get_
2014-04-29 10:11:14 1917 2
原创 《linux 内核完全剖析》 chapter 7 初始化程序
初始化程序7.1 main.c 程序 图中,高速缓存的部分还要扣除显存和ROM BIOS占用的部分。告诉缓冲区是用于磁盘等块设备临时存放数据的地方,以1K字节为一个数据单位。init().函数的功能可分为四个部分安装根文件系统显示系统信息运行系统初始资源配置文件rc中的命令执行用户登录程序shell程序
2014-04-27 18:38:59 1372
原创 《CS:APP》 chapter 3 Machine-Level Representation of Programs 笔记
Machine-Level Representation of Programs 3.1 A Historical Perspective几乎是每5年,以数量级的速度在增长。。。3.2 Program Encodings Suppose we wri
2014-04-25 20:29:40 2720
原创 《CS:APP》 chapter 1 A Tour of Computer Systems 笔记
A Tour of Computer Systems If you dedicate yourself to learning the concepts in this book, then you will be on your way to becoming a rare “power pro-grammer” 就冲这句话,就已经很“霸气”了。
2014-04-23 18:31:52 2554
原创 《linux 内核完全剖析》 chapter 4 80x86 保护模式极其编程
80x86 保护模式极其编程 首先我不得不说,看这张真的很纠结。。。看了半天,不知道这个东西能干嘛,我感觉唯一有点用的就是对于内存映射的理解。。。我如果不在底层给80x86写汇编的话,我真不知道这章能对我有什么用。。。还是留下自己觉得重要的理解了的笔记吧。。。4.1.1标志寄存器--EFLAGST
2014-04-23 17:16:14 2060
原创 由linux内核某个片段(container_of)引发的对于C语言的深入理解
/usr/src/linux-source-3.8.0/drivers/gpu/drm/radeon 这个目录下面去找到这个文件 mkregtable.c 打开,就可以看到了。#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)/** * container_of - cast a member of a
2014-04-18 20:07:59 1973
原创 腾讯实习面试题 数组那点事
看到一段腾讯的实习面试题:#include "stdio.h"int A(char a[10]);int main(){ char a[10]; size_t temp = sizeof(a)*10; size_t foo = A(a)*2; printf("%ld\n",temp+foo); re
2014-04-17 13:12:44 1290
原创 ”ssh: connect to host gmail.com port 22: Network is unreachable"的解决办法
jasonleaster@ubuntu:/Ad_Pro_in_Unix$ git push -u origin masterssh: connect to host gmail.com port 22: Network is unreachablefatal: Could not read from remote repository.Please make sure you
2014-04-16 18:08:38 10640
原创 《Linux Kernel Development》chapter 1 Introduction to Linux Kernel
Introduction to Linux Kernel
2014-04-15 23:18:40 1939
原创 《APUE》chapter 18 Terminal I/O 学习笔记(加上自己的代码)
《APUE》chapter 16 Network IPC: Sockets 学习笔记(加上自己的代码)(
2014-04-15 16:27:05 2281
原创 递归实现strlen函数
递归实现strlen函数,有点意思。/*****************************************************************code write : EOFcode date : 2014.04.13 e-mail : jasonleaster@gmail.comcode purpose: This is a
2014-04-13 15:49:43 1835
原创 《APUE》chapter 16 Network IPC: Sockets 学习笔记(加上自己的代码)
Network IPC: Sockets
2014-04-13 00:03:23 2318
原创 关于APUE里面TELL_WAIT()之类函数的两种实现方式
Just a note....#include static volatile sig_atomic_t sigflag;static sigset_t newmask,oldmask,zeromask;static void sig_usr(int signo){ sigflag = 1;}void TELL_
2014-04-11 20:43:33 2796
原创 《APUE》chapter 15 Interprocess Communication 学习笔记(加上自己的代码)
Interprocess Communication
2014-04-10 17:20:41 1619
转载 计算机投稿
计算机投稿1、《计算机工程与设计》和《计算机应用与软件》核心,相对来讲比较好中。2、《计算机应用研究》国家一级期刊,核心,录用率60%, 通知得较快。3、《计算机工程》中文核心,最大优点是审稿快。有基金号和项目编号的文章录用概率高。4、《计算机工程与应用》核心,比较好中,审稿速度比较慢。5、《微型机与应用》,核心,审稿速度一般,无需审稿费和版面费,并不好中(大家都想免费的午
2014-04-07 22:16:18 4485
原创 《APUE》chapter 13 Deamon Process 学习笔记(加上自己的代码)
Deamon Process Because they don’t have a controlling terminal, we say that they run in the background.
2014-04-07 20:05:47 1900
原创 《APUE》chapter 11 Thread 学习笔记(加上自己的代码)
Thread All threads within a single process have access to the same process components, such as file descriptors and memoryThread Concepts
2014-04-03 14:59:00 2051
原创 APUE figure 11.12 勘误 关于死锁解决办法的代码错误
虽然我自己很不愿意面对这个事实。。。但是它就是错了,完全解释不通我把书中问题代码的源码放在blog最后,并和第三版APUE进行比较比较可以发现第二版中有这样一段代码和第三不一样第二版foo_find里面:foo_find(int id) /* find a existing object */{ struct foo *fp; int i
2014-04-03 13:19:53 2030 1
原创 《APUE》Chapter 10 Signals (学习笔记加上自己的代码)
Signalssignal is software exception !看源码绝对是一种享受.Programmer view the source code , something like detective find the truth!
2014-04-02 17:34:18 2994
原创 ‘SA_INTERRUPT’ undeclared (first use in this function)的解决办法
APUE练习的时候编译的时候老是报警,说是未定义 SA_INTERRUPTjasonleaster@ubuntu:/Ad_Pro_in_Unix/chapter_10$ cc ./pro_10_22.c./pro_10_22.c: In function ‘main’:./pro_10_22.c:30:21: error: ‘SA_INTERRUPT’ undeclared (fi
2014-04-02 02:54:50 4254
CSAPP lab 5 实验指导书
2014-09-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人