摘要: 创建的每个断点(包括断点、监视点和捕获点)都标识为从1开始的唯一整数标识符。这个标识符用来执行该断点上的各种 操作。调试器还包含一种列出所有断点及其属性的方法。 调试下面的代码:(代码1) 以下操作演示,设置断点--显示断点列表--删除断点--显示删除后断点列表: (gdb) break mainB 阅读全文
posted @ 2015-06-27 17:02 neteasefans 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 如果要使用gdb进行调试,必须在编译时在gcc中加入-g选项,使用参数 -g 表示将源代码调试信息编译到可执行文件中。 如果使用-g选项: gcc -g main.c $ gdb a.out (gdb) b mainBreakpoint 1 at 0x4004fc: file main.c, lin 阅读全文
posted @ 2015-06-27 16:21 neteasefans 阅读(498) 评论(0) 推荐(0) 编辑
摘要: 上面的代码执行的结果是:0xbfc094b8240xbfc094c440xbfc094c412a是一个常量指针,sizeof(a)得到的是整个数组的大小,2*3*4=24个字节a+1是一个“指向包含3个整形元素的数组的指针”,所以sizeof(a+1)只是获得一个普通整型指针的大小,在我的系统中,为 阅读全文
posted @ 2015-06-27 15:11 neteasefans 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 转自 http://blog.csdn.net/todd911/article/details/8943149 方法一: 运行结果: the value is 8 方法二: 运行结果: the value of x+2 is 8 代码中的#将变量转换成了字符串后输出。 最后再介绍一种#号的用法: 输 阅读全文
posted @ 2015-06-27 15:02 neteasefans 阅读(320) 评论(0) 推荐(0) 编辑
摘要: 本文章基于http://jesserei.blog.163.com/blog/static/121411689200983081421390/ ,稍微进行了修改 通常 Linux 下的各种命令都有许多的命令行参数可以选择,比如:gcc -g -lm foo.c -o foo getopt()就是用来 阅读全文
posted @ 2015-06-27 14:47 neteasefans 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 转自 http://blog.csdn.net/todd911/article/details/8976543 r 打开只读文件,该文件必须存在。 r+具有读写属性,从文件头开始写,保留原文件中没有被覆盖的内容。该文件必须存在。 w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文 阅读全文
posted @ 2015-06-27 14:36 neteasefans 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 转自 http://blog.csdn.net/todd911/article/details/8952565 输入输出函数家族 家族名 目的 可用于所有的流 只用于stdin和stdout getchar 字符输入 fgetc,getc getchar putchar 字符输出 fputc,put 阅读全文
posted @ 2015-06-27 14:27 neteasefans 阅读(751) 评论(0) 推荐(0) 编辑
摘要: 本文章基于:http://www.cnblogs.com/QLinux/articles/2465329.html,稍作了修改。 大师级经典的著作,要字斟句酌的去读,去理解。以前在看K&R的The C Programming Language(Second Edition)中第1.5节的字符输入/输 阅读全文
posted @ 2015-06-27 11:15 neteasefans 阅读(190) 评论(0) 推荐(0) 编辑
摘要: VA_LIST 是在C语言中解决变参问题的一组宏,定义在<stdarg.h>头文件下。 VA_LIST的用法: (1)首先在函数里定义VA_LIST型的变量,这个变量是指向参数的指针 (2)然后用VA_START宏初始化刚定义的VA_LIST变量,这个宏的第二个参数是第一个可变参数的前一个参数,是一 阅读全文
posted @ 2015-06-27 10:55 neteasefans 阅读(754) 评论(0) 推荐(0) 编辑
摘要: 转自 http://blog.csdn.net/todd911/article/details/8851475 书中有如下描述: \ddd ddd表示1~3个八进制数字,这个转义符表示的字符就是给定的八进制值所代表的字符 \xddd 与上例类似,只是八进制数换成了16进制数。 注意,任何十六进制数都 阅读全文
posted @ 2015-06-27 10:35 neteasefans 阅读(895) 评论(0) 推荐(0) 编辑
摘要: 上面的编译时会出现一下错误: aplus2.c:6:6: error: lvalue required as left operand of assignmentaplus2.c:7:6: error: lvalue required as left operand of assignment 意思 阅读全文
posted @ 2015-06-27 10:23 neteasefans 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 本文转载于:http://www.cnblogs.com/gmh915/archive/2010/06/11/1756067.html 函数指针是指向函数的指针变量,即本质是一个指针变量。 指向函数的指针包含了函数的地址,可以通过它来调用函数。声明格式如下: 类型说明符 (*指针变量)(参数)这个特 阅读全文
posted @ 2015-06-27 10:09 neteasefans 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 转自 http://blog.csdn.net/todd911/article/details/9132095 很多库函数,特别是那些与操作系统有关的,当执行失败时会通过一个名称为errno的外部变量,通知程序该函数调用失败。 下面的代码利用这一特性进行错误处理: 上面的处理是错误的。 要理解这一点 阅读全文
posted @ 2015-06-27 09:58 neteasefans 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 本文转载于:http://blog.sina.com.cn/s/blog_6f5c63ff0100tucb.html 我们知道,在不同的语言中,对负数执行取模运算,结果有可能会是不同的。例如,(-11)%5在python中计算的结果是4,而在C(C99)中计算的结果则是-1。 truncate除法 阅读全文
posted @ 2015-06-27 09:54 neteasefans 阅读(760) 评论(0) 推荐(0) 编辑
摘要: 转自 http://blog.csdn.net/todd911/article/details/9148351 如果要自己实现一个获取绝对值的函数,应该都没有问题,我这边也自己写了一个: 但是,这个函数真的没有问题吗?如果i的值为-2147483648,会怎样,我们来试下: 上面代码编译后出现如下w 阅读全文
posted @ 2015-06-27 09:53 neteasefans 阅读(199) 评论(0) 推荐(0) 编辑