- 博客(14)
- 收藏
- 关注
转载 浮点数 存储方式
前面一篇我们讲了位运算后,基本C语言的大块都提及了,一些细节和用法暂时不再本模块介绍了。希望我的心愿能够在我毕业之前给我的大学生涯划上一个圆满的句号。加油努力。 在本模块的第三篇就已经讲了基本的数据类型,其中把浮点数刻意留在了后面来介绍。我的理解是在我们理解了内存,指针,位运算等后,再来介绍浮点这个特殊而又普通的数据类型比较好理解。浮点数和基本类型数据的存储差别比较大,这里不是说存储形式的
2014-05-05 23:16:18
951
原创 回调函数
回调函数是指一个函数把一个函数指针当作参数传入,然后在该函数内调用函数指针指向的函数而函数指针的参数如果是void*,那么就可以很灵活的在一函数里面处理不同类型的参数。一下为一个简单的函数实现typedef int (*func)(const void*, const void*);func compare;/* 在一个链表里面查询值为 *vpParama 的节点
2014-03-26 22:17:12
383
原创 Unix 系统调用出错处理
当Unix 系统级函数出错是,他们会典型的返回-1,并设置全局变量errno(errno.h)来表示什么错误。比如:当创建一个进程错误的时候if( pid = fork() < 0 ){ fprintf(stderr, "fork error: %s\n",strerror(errno));}//strerror函数返回一个文本串,描述和errno相关联的错误。
2014-01-07 22:20:33
631
原创 UNIX 处理目标文件的工具
AR : 创建静态库,插入、删除、列出和提取成员STRINGS: 列出目标文件所有可以打印出的字符串STRIP: 从目标文件中删除符号表信息NM:列出一个目标文件的符号表中的定义符号SIZE:列出目标文件中的节的名字和大小READELF:显示一个目标文件的完整结构OBJDUMP:所有二进制工具之母。能够显示一个目标文件的所有信息,最大作用在于反汇编 .text中的二进制指令
2014-01-05 18:37:26
548
原创 汇编代码学习一
一个IA32的cpu包含八个存储32位值的寄存器。这些寄存器可以用来存储寄存器和指针。每个寄存器一%开头,如下图所示:大多情况下,前六个可以看作通用寄存器,多他们没有特别的使用限制。最后两个保存着指向程序最重要的两个指针。栈指针和帧指针(基址指针)。操作数指示符1 立即数,也称常数,在ATT汇编代码中用 '$'后面跟一个标准C表示的常数。如:$ox1F;2 寄存器,表示某个
2013-12-03 22:04:22
643
原创 函数指针 一
所谓函数指针,它是一种指针。通过他可以像函数一样调用和传递参数。函数指针经常和指针函数所混淆,如:1) int *pf(); 2) int (*pf)(); 1)指的是返回一个int型指针的函数,pf为一个函数名2)指的是返回一个int型的函数,pf为函数指针。区别主要在于()的优先级比* 高,所以int *pf() 实际上是 int * (pf());通常函数指针可以这
2013-11-28 21:41:17
496
原创 vim 学习笔记 一
对于想学习vim 这个想法,主要是那天在知乎上看到为什么不少程序员极度推崇纯 vim 和 emacs,却对 IDE 嗤之以鼻?想来自己只是简单的知道vim的一些命令,似乎就是简单的一些:i,dd,:wq,这几个命令,如果真的去学会那些,我想自己应该效率上肯定可以提升很多把。1)首先是移动光标的一些命令:h,j,k,l,分别对应 左,下,上,右,用多了就习惯了。w 跳到下一个字符
2013-11-27 23:09:47
681
原创 make 学习笔记一
make 是一种依赖关系检查工具。当你的项目有很多的object 的时候,使用它可以带给你很多的便利。makefile的结构和make的运作流程:1)# 用“#”来表示注释2)target: dependecies#command 前面需要加个Tab缩进command1command2...#可以用‘\’来续行target 是我们需要生成的文件的名字。targe
2013-11-25 16:05:09
683
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人