上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 15 下一页
摘要: http://learn.akae.cn/media/ch20.html目录1. 多目标文件的链接2. 定义和声明2.1.extern和static关键字2.2. 头文件2.3. 定义和声明的详细规则3. 静态库4. 共享库4.1. 编译、链接、运行4.2. 动态链接的过程4.3. 共享库的命名惯例5. 虚拟内存管理1.多目标文件的链接请点评现在我们把例12.1 “用堆栈实现倒序打印”拆成两个程序文件,stack.c实现堆栈,而main.c使用堆栈:/* stack.c */char stack[512];int top = -1;void push(char c){ stack[++top] 阅读全文
posted @ 2013-02-06 08:51 ArcherDev 阅读(997) 评论(0) 推荐(0)
摘要: http://learn.akae.cn/media/ch31.html目录1. Shell的历史2. Shell如何执行命令2.1. 执行交互式命令2.2. 执行脚本3. Shell的基本语法3.1. 变量3.2. 文件名代换(Globbing):* ? []3.3. 命令代换:`或 $()3.4. 算术代换:$(())3.5. 转义字符\3.6. 单引号3.7. 双引号4. bash启动脚本4.1. 作为交互登录Shell启动,或者使用--login参数启动4.2. 以交互非登录Shell启动4.3. 非交互启动4.4. 以sh命令启动5. Shell脚本语法5.1. 条件测试:test 阅读全文
posted @ 2013-02-05 18:16 ArcherDev 阅读(1012) 评论(0) 推荐(0)
摘要: 4.段错误如果程序运行时出现段错误,用gdb可以很容易定位到究竟是哪一行引发的段错误,例如这个小程序:例10.4.段错误调试实例一#include <stdio.h>int main(void){ int man = 0; scanf("%d", man); return 0;}调试过程如下:$ gdb main...(gdb) rStarting program: /home/akaedu/main 123Program received signal SIGSEGV, Segmentation fault.0xb7e1404b in _IO_vfscanf 阅读全文
posted @ 2013-02-05 17:34 ArcherDev 阅读(1216) 评论(0) 推荐(0)
摘要: http://learn.akae.cn/media/ch10s03.html3.观察点接着上一节的步骤,经过调试我们知道,虽然sum已经赋了初值0,但仍需要在while (1)循环的开头加上sum = 0;:例10.3.观察点调试实例#include <stdio.h>int main(void){ int sum = 0, i = 0; char input[5]; while (1) { sum = 0; scanf("%s", input); for (i = 0; input[i] != '\0'; i++) sum = sum*10 阅读全文
posted @ 2013-02-05 17:25 ArcherDev 阅读(942) 评论(0) 推荐(0)
摘要: http://learn.akae.cn/media/ch10s02.html2.断点看以下程序:例10.2.断点调试实例#include <stdio.h>int main(void){ int sum = 0, i = 0; char input[5]; while (1) { scanf("%s", input); for (i = 0; input[i] != '\0'; i++) sum = sum*10 + input[i] - '0'; printf("input=%d\n", sum); } r 阅读全文
posted @ 2013-02-05 17:24 ArcherDev 阅读(459) 评论(0) 推荐(0)
摘要: http://learn.akae.cn/media/ch10s01.html1.单步执行和跟踪函数调用看下面的程序:例10.1.函数调试实例#include <stdio.h>int add_range(int low, int high){ int i, sum; for (i = low; i <= high; i++) sum = sum + i; return sum;}int main(void){ int result[100]; result[0] = add_range(1, 10); result[1] = add_range(1, 100); print 阅读全文
posted @ 2013-02-05 16:54 ArcherDev 阅读(4413) 评论(0) 推荐(0)
摘要: /etc/init.d 是 /etc/rc.d/init.d 的软链接(soft link)。可以通过 ll 命令查看,如下:/********************************************************************************************************************* [root@Rex ~]# ll /etc/init.d lrwxrwxrwx 1 root root 11 3?10 09:24 /etc/init.d -> rc.d/init.d**********... 阅读全文
posted @ 2013-02-04 17:53 ArcherDev 阅读(2019) 评论(0) 推荐(0)
摘要: http://blog.rexzhao.com/2011/11/22/git-branch.htmlGit虽然是分布式的系统,但是小组工作时Git一般都会设置一个中心服务器,大家都往这个服务器上push/pull代码。有时候需要离开主线(master)做一些测试或者Debug工作,或者想将代码分为开发版、稳定版等,这时候就需要做分支。在中心服务器这种结构下,所有人的remote端都是这个中心服务器,因此配置方法是(以建立dev分支为例):登陆服务器执行git branch dev来建立dev分支在本地执行git pull来做更新,然后git checkout dev就可以切换到dev分支另外, 阅读全文
posted @ 2013-02-04 14:08 ArcherDev 阅读(422) 评论(0) 推荐(0)
摘要: http://blog.rexzhao.com/category/Git在push之前有时候会不放心是不是忘记加某些文件,或者是不是多删了个什么东西,这时候希望能够看看上次commit都做了些什么。一开始想到的是用git diff,但是git diff用于当前修改尚未commit的时候较为方便,一旦commit后,需要指定上次节点的名称(一个hash值),不方便。这种时候用git log更合适,因为commit的内容会以log来记录。下面记录几个常用的情境以及对应的命令。仅仅想看最近谁有提交,以及提交的描述对应命令 git log显示Samplecommit 6305aa81a265f9316 阅读全文
posted @ 2013-02-04 14:07 ArcherDev 阅读(317) 评论(0) 推荐(0)
摘要: http://ruby-china.org/topics/939git已经变成了很多程序员日常工具之一。git log是查看git历史的好工具,不过默认的格式并不是特别的直观。很多时候想要更简便的输出更多或者更少的信息,这里列出几个git log的format。可以根据自己的需要定制。git log命令可一接受一个--pretty选项,来确定输出的格式.如果我们只想输出hash.git log --pretty=format:"%h" git用各种placeholder来决定各种显示内容:下面内容来自这里%H: commit hash%h: 缩短的commit hash%T 阅读全文
posted @ 2013-02-04 14:02 ArcherDev 阅读(431) 评论(0) 推荐(0)
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 15 下一页