上一页 1 2 3 4 5 6 ··· 20 下一页
摘要: 首先GDB是类unix系统下一个优秀的调试工具, 当然作为debug代码的工具, 肯定没有IDE来的直观了. 不过, 命令行自然有命令行的有点, 当你无法是使用IDE时, gdb有时会帮上很大的忙. 下面用1个例子来说明用法吧: 建立1个目录testgdb2 1. 编写c文件test.c可以见到在23行, call 了 test2.c的函数, 而且引用了头文件 test2.h 2. 编写头文件 ./headfiles/test2.h只声明了1个函数啦 3. 编写c文件test2.c 编写对应函数的内容啦. 4. 编写Makefile这里要注意, gcc 命令默认编译出来的可执行文件是不带... 阅读全文
posted @ 2013-04-02 00:57 Gateman 阅读(465) 评论(0) 推荐(0)
摘要: 大部分发行版安装就自带1个linux内核, 是不需要用户自己编译的. 那么编译1个内核到底有什么好处呢, 其实好处无非有两点: 1. 精简内核 通用发行版的内核特点就是兼容性好, 这里的兼容性是只硬件兼容性啦, 也就是说通用的内核集成了很多种硬件的驱动和功能,而其实绝大部分的硬件驱动和部分功能(如raid支持,偏门的文件系统格式支持)是一般家用机用不上的。 而自己编译内核能在选项里去除这些多余的选项, 只挑选当前机器适用的硬件驱动, 往往能得到1个更精简的内核,理论上是比1个臃肿的内核更加稳定和快速的。 再讲,对于任何软件来讲。理论上用当前机器自己编译出来的会比用其他环境机器编译出来的性能.. 阅读全文
posted @ 2013-04-02 00:57 Gateman 阅读(686) 评论(0) 推荐(0)
摘要: 一般安装windows 和 linux双系统, 都是先安装windows, 然后安装linux, 那么linux的grub安装会加入windows启动的选项, 开机时就能选择启动进入哪个系统了。 但是如果重装了windows, windows会重写mbr分区表, 导致grub的信息丢失, 开机就不能进入linux了。 下面就用ubuntu例子来修复grub启动项。 第一步, 用livecd 启动系统 进入livecd里的ubuntu, 连这一步都不知道的代表你没硬盘安装过Ubuntu,用wubi重装一次吧... 第二步, 获取root权限 打开终端,输入如下命令: sudo passwd #. 阅读全文
posted @ 2013-04-02 00:57 Gateman 阅读(347) 评论(0) 推荐(0)
摘要: 买了SSD硬盘, 把linux mint安装到ssd上。 但是这货是TLC颗粒的, 也就是写的次数有限, 所以想减少ssd写的次数。 在根目录/ 下, 其实大部分文件都只需要读的, 例如打开某个程序, 一般就去对应目录去读数据。 大部分写操作都集中在/tmp 和/var 这个两个目录下。 所以我想将/tmp 迁移到机械硬盘的分区。 首先就在别的系统分1个区出来。 格式化为ext4系统, 这个简单, 不说了。 接下来查出这个分区的UUID, 例如我想将/tmp 迁移到 /dev/sdb10 这个分区。 则可以用下面命令查出该分区的UUID sudo blkid /dev/sdb10得到UUID. 阅读全文
posted @ 2013-04-02 00:57 Gateman 阅读(417) 评论(0) 推荐(0)
摘要: ////// 实际上, c中并没有字符串这种数据类型, 也就是说c是没有像java, .net等其他高级语言中常用的String类型. 首先要强调: a. c语言有无字符串? 有! b. c语言有无字符串类型 无! c. c语言字符串是否就是不是字符数组 是! b. c语言字符串和字符数组是同一样东西? 不是! 实际上, c语言中, 字符串是1个特殊的字符数组, 特殊在什么地方? 就是字符数组最后1个元素可以是任意字符, 而字符串(属于字符数组的最后1个元素是'\000', 也就是说, c1.字符类型char 就是c的字符类型定义1个字符变量,跟住赋值.char a;a= 阅读全文
posted @ 2013-04-02 00:57 Gateman 阅读(368) 评论(0) 推荐(0)
摘要: 简单解析下, stdin就是标准输入, stdout就是标准。举个例子, 在当前我要打包1个文件夹 /var/log/ 到当前目录下,并用zip压缩,那么我们可以分步执行#tar -cvf log.tar /var/log/#zip -r log.tar.zip log.tar#rm -rf log.tar写成一条语句就是tar -cvf log.tar /var/log/ && zip -r log.tar.zip log.tar &&rm -rf log.tar那么我们可以发现第一条语句的输出(log.tar) 就是第二条语句的输入这种情况下我们可以用 “- 阅读全文
posted @ 2013-04-02 00:57 Gateman 阅读(282) 评论(0) 推荐(0)
摘要: 1. 一维数组 c语言中, 数组占用的空间是一组连续的物理内存空间. 所以对于1维数组来讲,只需要知道数组头1个元素的地址, 就可以逐个地得出各个元素的值了.例子: 首先定义1个1维数字型数组, 并且赋值. int A[10]={10,1,2,3,4,5,6,7,8,9}; 这里说明一下, c语言中大部分情况下如上面这个语句这样, 定义1个数组的同时就对它赋值了, 这是最方便的. 也可以先定义再赋值. 如 int A[10]; A[0]=10; A[1]=2;........ 但是不能用A={10,1,2,3,4,5,6,7,8,9}; 会编译失败~ 跟住定义1个指针. int *p; 这时. 阅读全文
posted @ 2013-04-02 00:57 Gateman 阅读(347) 评论(0) 推荐(0)
摘要: 1. 折半查找法定义 折半查找法,也称为二分查找法, 二分搜索, 是一种在有序数组中查找某一特定元素的搜索算法.搜索过程中从数组的中间元素开始, 如果中间元素正好是要查找的元素, 则搜索过程结束;如果某一特定元素大于或者小于中间元素, 则在数组大于或小雨元素的那一半中查找, 而且跟开始一样从中间元素开始比较. 若某1个步骤中数组为空, 则代表找不到. 这种搜索算法每一次比骄傲都使搜索范围缩小一半. -- 摘自维基百科. 2. 折半查找法分析 从定义中可以看出折半查找法有几个特性. 2.1 先决条件: 要搜索的数据已经排好序 当然, 怎样将数据排序也是1个算法, 这里先不考究了, 但是要使用.. 阅读全文
posted @ 2013-04-02 00:57 Gateman 阅读(3556) 评论(0) 推荐(0)
摘要: 这篇文章是参考甲骨论老相老师的教学视频:http://v.youku.com/v_show/id_XMzk2MjQ5Mzc2.html所做的教学视频1. 触发LGWR 将log buffer里的数据写入日志文件的条件: 下图这个就是lgwr进程了~ 1.1 commit语句 1.2 每隔3秒 1.3 log buffer里面有大于1MB的数据未写入日志文件 1.4 log buffer里面有大于3分1的数据未写入日志文件. 1.5 DBWR需要写入数据的SCN大于LGWR记录的SCN, 就触发LGWR写入. 1 - 4点之前都提过啦,也很容易理解. 现在重点说下第5点: Oracle 有1个机 阅读全文
posted @ 2013-04-02 00:57 Gateman 阅读(846) 评论(0) 推荐(0)
摘要: find查找文件的时候排除某个或几个文件或目录转自:http://www.cnblogs.com/starspace/archive/2008/10/20/1315380.html比如要在/usr/sam目录下查找不在dir1子目录之内的所有文件find /usr/sam -path "/usr/sam/dir1" -prune -o -printfind [-path ..] [expression] 在路径列表的后面的是表达式-path "/usr/sam" -prune -o -print 是 -path "/usr/sam" 阅读全文
posted @ 2013-04-02 00:57 Gateman 阅读(3400) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 ··· 20 下一页