天泉证道

世事洞穿而寡言,名利看淡而重学

vim F7添加作者信息,文件修改完更改最后时间

必须是vim,不能是vi。 再更新,使用函数(): set nu set nocp set tabstop=4 set softtabstop=4 set shiftwidth=4 set noexpandtab syntax on function FileHead_C() call a...

2018-07-21 18:49:42

阅读数 592

评论数 1

ip地址10.0.0.2/8,10.0.0.2/16,10.0.0.2/24,10.0.0.2/32的8,16,24,32的意思

10.1.0.2/8,说明它的子网掩码是255.0.0.0, 10段的ip都可以ping通; 10.1.0.2/16,说明它的子网掩码是255.255.0.0, 10.1段的ip都可以ping通; 10.1.0.2/24,说明它的子网掩码是255.255.255.0, 10.1.0段的i...

2019-04-23 22:55:35

阅读数 41

评论数 0

ip地址(主机地址),网络地址,广播地址,子网掩码,子网个数,网关,DNS之间的关系

假设本机地址为192.168.1.133,在设置ip时,子网掩码也是跟随着一起设置的,假设本机ip子网掩码是255.255.255.0。 1 2 3 4 5 6 7 8, 1 2 3 4 5 6 7 8, 1 2 3 4 5 6 7 8, 1 2 3 4 5 6 7 8 192 ...

2019-04-23 22:46:34

阅读数 38

评论数 0

makefile学习14:进阶部分

makefile基础学习前13小节就差不多了,如果想提升自己的makefile,可参考内核源码的makefile,结合下面的内容一起钻研学习。 源码下载:https://www.kernel.org/ 即然make可以指定所有makefile中的目标,那么也包括“伪目标”,于是我们可以根据这种...

2019-04-02 02:33:13

阅读数 189

评论数 0

makefile学习13:判断语句

使用条件判断,可以让make根据运行时的不同情况选择不同的执行分支。条件表达式可以 是比较变量的值,或是比较变量和常量的值。 一、示例 下面的例子,判断$(CC)变量是否“gcc”,如果是的话,则使用GNU函数编译目标。 libs_for_gcc = -lgnu normal_libs =...

2019-04-02 02:26:26

阅读数 185

评论数 0

makefile学习12:详细讲解变量

在 Makefile中的定义的变量,就像是C/C++语言中的宏一样,他代表了一个文本字串,在Makefile中执行的时候其会自动原模原样地展开在所使用的地方。其与C/C++所不同的是,你可以在Makefile中改变其值。在Makefile中,变量可以使用在“目标”,“依赖目标”,“命令”或是 Ma...

2019-04-02 02:23:54

阅读数 184

评论数 0

makefile学习11:自动生成依赖性

在Makefile中,我们的依赖关系可能会需要包含一系列的头文件,比如,如果我们的main.c中有一句“#include "defs.h"”,那么我们的依赖关系应该是: main.o : main.c defs.h 但是,如果是一个比较大型的工程,你必需清楚哪些C文件包含了...

2019-04-02 02:20:55

阅读数 186

评论数 0

makefile学习10:多个目标

Makefile 的规则中的目标可以不止一个,其支持多目标,有可能我们的多个目标同时依赖于一个文件,并且其生成的命令大体类似。于是我们就能把其合并起来。当然,多个目标的生成规则的执行命令是同一个,这可能会可我们带来麻烦,不过好在我们的可以使用一个自动化变量“$@”(关于自动化变量,将在后面讲述),...

2019-04-02 02:14:47

阅读数 169

评论数 0

makefile学习9:伪目标

最早先的一个例子中,我们提到过一个“clean”的目标,这是一个“伪目标”: clean: rm *.o temp 正像我们前面例子中的“clean”一样,即然我们生成了许多文件编译文件,我们也应该提供一个清除它们的“目标”以备完整地重编译而用。(以“make clean”来使用该目标)因为...

2019-04-02 02:12:44

阅读数 201

评论数 0

makefile学习8:总结makefile的工作方式

进过前7小节的学习,对makefile的也有些许了解了,下面了解一下它的工作方式。 GNU的make工作时的执行步骤入下:(想来其它的make也是类似) 1、读入所有的Makefile。 2、读入被include的其它Makefile。 3、初始化文件中的变量。 4、推导隐晦规则,并分析...

2019-04-02 02:05:09

阅读数 166

评论数 0

makefile学习7:echo的使用

类似于shell的echo的语句,echo可以在make执行时打印出自己预设的内容。 这个是内核源码根目录的makefile内容,>&2这个是将错误输出到文件描述为2的文件,其实是标准错误。 例子: gyz@debian:~/mc$ cat Makefil...

2019-04-02 02:00:02

阅读数 169

评论数 0

makefile学习6:多个makefile的使用

编译过kernel的人都知道,在内核源代码下有很多makefile,编译的时候是一起用的。如下: 可以看到其他makefile就像头文件一样,被包含进来,可以分条include进来,也可以一条include a.mk b.mk c.mk。。。 这里多了一个-,表示读取个别文件失败,也继...

2019-04-02 01:47:35

阅读数 177

评论数 0

makefile学习5:清除目标文件,注释

前面说过,.PHONY的意思是说clean是个伪命令。 .PHONY:clean clean: rm test $(obj) 优化上面的代码: .PHONY:clean clean: -rm test $(obj) 就是在rm前添加一个-,它的意思是后面的文件有错也不予理睬,继...

2019-04-01 20:10:13

阅读数 165

评论数 0

makefile学习4:再优化makefile

makefile有强大的自动推导功能,可以将用到相同.h文件的.o文件写到一起,再优化一下makefile。 原来的makefile: gyz@debian:~/mc$ cat Makefile obj=test.o printarr.o test:$(obj) gcc -o test ...

2019-04-01 16:47:07

阅读数 191

评论数 0

makefile学习3:隐晦规则,自动推导

makefile可根据.o文件来推导出编译需要(依赖)的.c文件。 原来的makefile: gyz@debian:~/mc$ cat Makefile test:test.o printarr.o gcc -o test test.o printarr.o test.o:test.c ...

2019-04-01 16:39:37

阅读数 248

评论数 0

makefile学习2:使用变量

源代码1: gyz@debian:~/mc$ cat test.c #include "std.h" int main(int argv,char **argc) { int arr[10] = {1,2,3,4,5,6,7,8,9,10}; PrintArray(...

2019-04-01 16:29:18

阅读数 204

评论数 0

makefile学习1:初识makefile

大材小用一下,下面给一个源文件写makefile,认识一下makefile的依赖性。 源代码: #include "std.h" int main(int argv,char **argc) { int arr[10] = {1,2,3,4,5,6,7,8,9,10}...

2019-04-01 16:07:57

阅读数 205

评论数 0

gdb学习20:总结

经过20个小部分的学习,对gdb有了一定的了解,真心觉得gdb是一个非常好的调试工具。 以后在使用中,有其他的需求,就可以搜索查找,不再是摸着石头过河了。 如果有一台大屏幕的电脑,或者两台电脑,一个窗口用于看代码,一个用于调试,那就再好不过了。 gdb的中文翻译(https://wenku....

2019-04-01 00:06:54

阅读数 190

评论数 0

gdb学习19:打印全局变量和局部变量,动态数组和静态数组

c语言是全局变量和函数局部变量重名时,局部变量覆盖全局变量,所以进入到函数中查看全局变量的值,就不能直接用print了。 下面例子,打印出10的就是全局变量, (gdb) p n $1 = 1000 (gdb) p 'mystrcopy.c'::n $2 = 10 (gdb) p Print...

2019-04-01 00:06:47

阅读数 226

评论数 0

gdb学习18:查看某个函数的汇编代码

代码: void PrintNumbers(int n) { while(n--) { printf("number is :%d\n",n); } } gdb调试信息: (gdb) disassemble PrintNumbers Dump of asse...

2019-04-01 00:06:40

阅读数 229

评论数 0

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