03 2015 档案
摘要:预处理#和##是两个预处理运算符(注意不是C语言表达式的运算符),#后接形参(中间可以空格),用于创建字符串字面值;##用于连接两个形参。函数式宏定义也可以带可变参数,同样是用…表示可变参数,宏定义中的可变参数的部分用_VA_ARGS_表示。如:#define showlist(…) printf(...
阅读全文
摘要:上篇 C语言入门$?是shell中一个特殊变量,表示上一条命令的退出状态。增量式开发:写一些代码编译运行,没问题再写下面的。在编译时要加上-g选项,生成的可执行文件才能用gdb进行源码级调试:gcc -g main.c -o main -g选项的作用是在可执行文件中加入源代码信息,比如第几条...
阅读全文
摘要:第4部分 库与运行库 第10章 内存 函数调用惯例。函数返回值通常保存在寄存器eax,然后由调用者读取,对5-8字节返回值,通常由eax保存低4位,edx保存高4位。而返回值大于8字节时,调用过程大致如下: 声名狼藉的C++返回对象。为此,C++提出了返回值优化(Return Value Optim
阅读全文
摘要:第3部分 装载与动态链接第6章 可执行文件的装载与进程PAE(Physical Address Extension)物理地址扩展,36位物理地址。进程创建做的一些事情:创建一个独立的虚拟地址空间;读取可执行文件头,并建立虚拟空间与可执行文件的映射关系;将CPU的指令寄存器设置成可执行文件的入口地址,...
阅读全文
摘要:第一章 温故而知新北桥(Northbridge):高速芯片,连接CPU、内存、高速图形设备。南桥:汇总磁盘、usb、键盘、鼠标等再连接到北桥。SMP(对称多处理器),多核处理器可以看作是SMP的简版。可重入与线程安全:一个函数被重入,表明该函数没有执行完,而被重新调用。可重入是并发安全的强力保证。第...
阅读全文
摘要:深信不疑是真理的可怕敌人,甚至比谎言更为可怕——弗里德里希.尼采。用锤子敲一下收10美元,知道在哪里敲收9990美元。
阅读全文
摘要:第23章 Unix文件系统命名管道 mkfifo : mkfifo [-m mode] pipe 。命名管道必须显式创建,且不会消失(可用rm命令删除)。proc文件是用来访问内核信息的伪文件。例如某进程ID为1952,那么该进程相关信息可以在/proc/1952目录下的文件中找到。VFS(virt...
阅读全文
摘要:第16章 过滤器:简介和基本操作 删除数据列用colrm:colrm [startcol [endcol]] 如果没有endcol则删除从startcol至行末尾所有的列。 第17章 过滤器:比较和抽取 比较任意两个文件:cmp file1 file2 显示不同字节数及所在行。 比较有序文本文件:c
阅读全文
摘要:第11章 shellShell两大家族:Bourne shell家族(Bourne Shell、bash、FreeBSD、Korn Shell、Pdksh、Zsh)和C-Shell家族(C-Shell、Tcsh)。临时改变shell只需要直接在命令行输入shell名称运行shell,按^D可终止,回...
阅读全文

浙公网安备 33010602011771号