2013年12月13日

Ubuntu 中 VI 打开和编辑多个文件的命令(转载)

摘要: VI打开和编辑多个文件的命令VI打开和编辑多个文件的命令可分两种情况:1、在同一窗口中打开多个文件:vi file1 file2 file3:n 切换到下一个文件 (n=next):N 切换到上一个文件2、在不同窗口中打开多个文件:如果已经打开一个了一个文件,则在vi的命令输入状态下输入 :sp 另外一个文件的路径及文件名,如此就可以在一个窗口打开多个文件了。或者用 vi -o file1 file2 file3....用分割屏幕窗口方式同时打开多个文件。可以使用 ctrl + 两次按 w 或者ctrl + w 然后按上下键在上下窗口间切换。2.窗口分割实现编辑多文件 *先使用vi打开一个文件 阅读全文

posted @ 2013-12-13 22:17 天天小鱼 阅读(1647) 评论(0) 推荐(1) 编辑

2013年12月5日

计算机如何启动

摘要: 从打开电源到开始操作,计算机的启动是一个非常复杂的过程。 我一直搞不清楚,这个过程到底是怎么回事,只看见屏幕快速滚动各种提示......这几天,我查了一些资料,试图搞懂它。下面就是我整理的笔记。 零、boot的含义 先问一个问题,"启动"用英语怎么说? 回答是boot。可是,boot原来的意思是靴子,"启动"与靴子有什么关系呢? 原来,这里的boot是bootstrap(鞋带)的缩写,它来自一句谚语:"pull oneself up by one's bootstraps" 字面意思是"拽着鞋带把自己拉起来" 阅读全文

posted @ 2013-12-05 19:45 天天小鱼 阅读(225) 评论(0) 推荐(0) 编辑

2013年12月4日

su认证失败

摘要: 原文地址:su认证失败作者:yu000hongUbuntu 安装后,root用户默认是被锁定了的,不允许登录,也不允许 "su" 到 root。有人说这是个不好的实践,特别是对于服务器来说。我觉得对于桌面用户来说,这样安全性更高一些,是应该的;但对于服务器可以设置成允许 "su" 到root,但不允许root用户直接登录”。而我为了开发时的方便,则在桌面和服务器上都采用这种方式。问题:su认证失败使用su命令登录到root用户时,老是报"su:认证失败"错误。报这个错误的原因是root用户默认是被锁定了的,只要使用passwd命令重新 阅读全文

posted @ 2013-12-04 17:41 天天小鱼 阅读(535) 评论(0) 推荐(0) 编辑

(转载)关于C、C++中可变参数的简介——(va_list,va_start,va_arg,va_end)

摘要: 关于C、C++中可变参数的简介——(va_list,va_start,va_arg,va_end) 由于在C语言中没有函数重载,解决不定数目函数参数问题变得比较麻烦,即使采用C++,如果参数个数不能确定,也很难采用函数重载。对这种情况,提出了指针参数来解决问题。 如printf()函数,其原型为: int printf( const char* format, ...);它除了有一个参数format固定以外,后面跟的参数的个数和类型是可变的,例如我们可以有以下不同的调用方法: printf( "%d ",i); printf( "%s "... 阅读全文

posted @ 2013-12-04 10:53 天天小鱼 阅读(223) 评论(0) 推荐(0) 编辑

2013年11月25日

free malloc

摘要: 原文:http://blog.pfan.cn/vfdff/33507.html个人总结在C语言的学习中,对内存管理这部分的知识掌握尤其重要!之前对C中的malloc()和free()两个函数的了解甚少,只知道大概该怎么用—— 就是malloc然后free就一切OK了。当然现在对这两个函数的体会也不见得多,不过对于本文章第三部分的内容倒是有了转折性的认识,所以写下这篇文章作为一个对知识的总结。这篇文章之所以命名中有个“浅谈”的字眼,也就是这个意思了!希望对大家有一点帮助! 如果不扯得太远的话(比如说操作系统中虚拟内存和物理内存如何运做如何管理之类的知识等),我感觉这篇文章应该是比较全面地谈了一下 阅读全文

posted @ 2013-11-25 21:28 天天小鱼 阅读(172) 评论(0) 推荐(0) 编辑

2013年11月10日

C++ Primer 第八章 标准IO库(转载)

摘要: 学习本章内容之前有必要对缓冲区的概念做一个基本了解,我引用了网上一片文章《C++编程对缓冲区的理解》,内容如下:什么是缓冲区 缓冲区又称为缓存,它是内存空间的一部分。也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部分预留的空间就叫做缓冲区。 缓冲区根据其对应的是输入设备还是输出设备,分为输入缓冲区和输出缓冲区。为什么要引入缓冲区 比如我们从磁盘里取信息,我们先把读出的数据放在缓冲区,计算机再直接从缓冲区中取数据,等缓冲区的数据取完后再去磁盘中读取,这样就可以减少磁盘的读写次数,再加上计算机对缓冲区的操作大大快于对磁盘的操作,故应用缓冲区可大大提高计... 阅读全文

posted @ 2013-11-10 08:34 天天小鱼 阅读(353) 评论(0) 推荐(0) 编辑

2013年11月1日

嵌入式学习笔记:嵌入式linux驱动要学哪些

摘要: 嵌入式学习笔记:嵌入式linux驱动要学哪些2013-02-27 15:58:54驱动程序开发是嵌入式Linux项目中工作量最大的一部分内容,开发出高质量的驱动程序是项目成功的关键。Linux设备驱动的学习是一项浩繁的工程,包含如下的重点、难点。1、 编写Linux设备驱动要求工程师有非常好的硬件基础,懂得SRAM、Flash、SDRAM、磁盘的读写方式,UART、I2C、USB等设备的接口以及轮询、中断、DMA的原理,PCI总线的工作方式以及CPU的内存管理单元(MMU)等。2、编写Linux设备驱动要求工程师有非常好的C语言基础,能灵活地运用C语言的结构体、指针、函数指针及内存动态申请和释 阅读全文

posted @ 2013-11-01 10:46 天天小鱼 阅读(323) 评论(0) 推荐(0) 编辑

2013年10月31日

指针使用注意

摘要: void main(){/*int *p,*q; int n=3;q=p=(int*)malloc(3*sizeof(int));如果没有q在下面直接输出的话q指向已经到了表尾运行肯定出错for(;p<(p+3);p++)p+3错了 我也不知道为什么可以定义i来限定次数{scanf("%d",p);}for(;q<(q+3);q++){printf("%d",*q);}free(p);free(q);p=q=NULL;*/int a[3]={1,2,3};int *p;p=a;for(;p<p+3*sizeof(int);p++)pri 阅读全文

posted @ 2013-10-31 12:20 天天小鱼 阅读(121) 评论(0) 推荐(0) 编辑

malloc的用法

摘要: 语法:指针名=(数据类型*)realloc(要改变内存大小的指针名,新的大小)。//新的大小一定要大于原来的大小,不然的话会导致数据丢失!头文件:#include 功能:先判断当前的指针是否有足够的连续空间,如果有,扩大mem_address指向的地址,并且将mem_address返回,如果空间不够,先按照newsize指定的大小分配空间,将原有数据从头到尾拷贝到新分配的内存区域,而后释放原来mem_address所指内存区域(注意:原来指针是自动释放,不需要使用free),同时返回新分配的内存区域的首地址。即重新分配存储器块的地址。举例1:从这个例子可以看出realloc函数的功能。#inc 阅读全文

posted @ 2013-10-31 12:17 天天小鱼 阅读(233) 评论(0) 推荐(0) 编辑

导航