2015年3月
文章平均质量分 84
u010154760
这个作者很懒,什么都没留下…
展开
-
va_list/va_start/va_arg/va_end深入分析
va_list/va_start/va_arg/va_end这几个宏,都是用于函数的可变参数的。我们来看看在vs2008中,它们是怎么定义的: 1: ///stdarg.h 2: #define va_start _crt_va_start 3: #define va_arg _crt_va_arg 4: #define va_end _crt_转载 2015-03-03 12:18:09 · 465 阅读 · 0 评论 -
windows启动过程
Windows的启动过程包括以下几个阶段:启动自检阶段这个阶段主要是读取 BIOS ,然后内存,CPU,硬盘,键盘等设备进行自检。这个阶段在屏幕上显示就是自检的那些打印信息。屏幕显示:自检的打印信息初始化启动阶段这个阶段根据 BIOS 指定的启动顺序,找到可以启动的优先启动设备,比如本地磁盘,CD Driver , USB 设备等等,然后准备从这些设备启动系转载 2015-03-23 14:01:24 · 452 阅读 · 0 评论 -
scanf输入字符串问题
1、#include"stdio.h"#include"iostream"using namespace std;int main(){ char a[4]={'l','o','v','\0'}; printf("%s",a); system("PAUSE"); return 0;}原创 2015-03-14 18:56:30 · 5154 阅读 · 0 评论 -
getmsg, getpmsg - receive next message from a STREAMS file (STREAMS)
NAMEgetmsg, getpmsg - receive next message from a STREAMS file (STREAMS)SYNOPSIS[XSR] #include stropts.h>int getmsg(int fildes, struct strbuf *restrict ctlptr, struct strbuf *转载 2015-03-30 15:11:52 · 516 阅读 · 0 评论 -
ctrl-c,ctrl-z,ctrl-d区别
linux下: ctrl-c 发送 SIGINT 信号给前台进程组中的所有进程。常用于终止正在运行的程序。 ctrl-z 发送 SIGTSTP 信号给前台进程组中的所有进程,常用于挂起一个进程。 ctrl-d 不是发送信号,而是表示一个特殊的二进制值,表示 EOF。 ctrl-/ 发送 SIGQUIT 信号给前台进程组中的所有进程,终止前台进程并生成 core 文件。转载 2015-03-30 14:05:28 · 689 阅读 · 0 评论 -
Linux系统日志管理(redhat)
一、Linux系统日志作用日志对任何一个OS、应用软件、服务进程而言都是必不可少的模块。日志文件对于系统和网络安全起到中大作用,同时具有审计、跟踪、排错功能。可以通过日志文件监测系统与网络安全隐患,以及监测黑客入侵攻击路线。二、日志分类1. 连接时间的日志连接时间日志一般由/var/log/wtmp和/var/run/utmp这两个文件记录,不过这两个文件无法直接cat转载 2015-03-30 18:25:45 · 6410 阅读 · 0 评论 -
用户空间与内核的交互---IOCTL
在procfs一节中我们提到过ioctl,它的作用编写过驱动和从事过网络编程的人,一定不会陌生. 就是由于它架构的思路的精妙之处,屏蔽了大量抽象的东西.这里我们就分析下它的使用和架构,当然这里不会分析ioctl系统调用的实现.这里参考资料有《linux设备驱动程序》,《深入理解linux网络技术内幕》 ,当然也少不了网上好的文章和帖子. 或许我们最熟悉就是文件的操作,文件有re转载 2015-03-30 15:02:40 · 1421 阅读 · 0 评论 -
ioctl
NAMEioctl - control a STREAMS device (STREAMS)SYNOPSIS[XSR] #include stropts.h>int ioctl(int fildes, int request, ... /* arg */); DESCRIPTIONThe ioctl() function shall perfo转载 2015-03-30 14:56:29 · 440 阅读 · 0 评论 -
linux grep命令
linux grep命令1.作用Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。2.格式grep [options]3.主要参数[options]主要参数:-c:只输出匹配行的计数转载 2015-03-30 14:28:50 · 358 阅读 · 0 评论 -
管道命令
linux shell 管道命令(pipe)使用及与shell重定向区别看了前面一节:linux shell数据重定向(输入重定向与输出重定向)详细分析 估计还有一些朋友是头晕晕的,好复杂的重定向了。这次我们看下管道命令了。shell管道,可以说用法就简单多了。 管道命令操作符是:”|”,它仅能处理经由前面一个指令传出的正确输出信息,也就是 standard output 的信转载 2015-03-30 14:23:43 · 600 阅读 · 0 评论 -
EOF说明
C语言标准库中的EOF 是宏常数,其定义是:#define EOF (-1)程序中凡写EOF处,将用 (-1) 替代,替代后再编译。while((c=getchar())!=EOF) 就是 while((c=getchar())!=(-1))------当读语句(例如 fscanf) ,读到文件尾时,就会获得EOF,EOF又叫文件结束符。读语句(例如getcha转载 2015-03-30 14:02:09 · 741 阅读 · 0 评论 -
Notepad++ 编辑 Arduino文件后直接发送到编译器IDE
Notepad++ 有个菜单叫“运行”,点开后继续点子项“运行”。 弹出的窗口中输入,你的Arduino编译器IDE的路径,后面加上 空格"$(FULL_CURRENT_PATH)"例:F:\Arduino\arduino-1.0.5\arduino.exe "$(FULL_CURRENT_PATH)"然后你可以点“运行”或“保存”,这时你在转载 2015-03-12 16:36:33 · 2769 阅读 · 0 评论 -
Centos版Linux 一些常用操作命令 收集
1、文件处理命令:ls功能描述:显示目录文件命令英文原意:list命令所在路径:/bin/ls执行权限:所有用户语法: ls 选项[-ald] [文件或目录] -a 显示所有文件,包括隐藏文件-l 详细信息显示-d 查看目录属性 $ ls –a > dir.txt ← 将ls –a命转载 2015-03-30 20:54:00 · 462 阅读 · 0 评论 -
字节流与字符流的区别详解
字节流与字符流先来看一下流的概念:在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成。程序中的输入输出都是以流的形式保存的,流中保存的实际上全都是字节文件。字节流与字符流在java.io包中操作文件内容的主要有两大类:字节流、字符流,两类都分为输入和输出操作。在字转载 2015-03-30 20:51:36 · 394 阅读 · 0 评论 -
linux的echo命令
linux的echo命令, 在shell编程中极为常用, 在终端下打印变量value的时候也是常常用到的, 因此有必要了解下echo的用法echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。该命令的一般格式为: echo [ -n ] 字符串其中选项n表示输出文字后不换行;字符串能加引号,也能不加引号。用echo命令输出加引号的字符串时,将字符串原样输出;用ec转载 2015-03-30 15:04:05 · 433 阅读 · 0 评论 -
设备控制接口(ioctl 函数)
【转】Linux设备控制接口序言设备驱动程序的一个基本功能就是管理和控制设备,同时为用户应用程序提供管理和控制设备的接口。我们前面的“Hello World”驱动程序已经可以提供读写功能了,在这里我们将扩展我们的驱动以支持设备控制接口,在Linux中这个接口是通过ioctl函数来实现的。设备控制接口(ioctl 函数)回想一下我们在字符设备驱动中介绍的struct file_o转载 2015-03-30 14:54:22 · 551 阅读 · 0 评论 -
进程地址空间
进程地址空间也就是每个进程所使用的内存,内核对进程地址空间的管理,也就是对用户态程序的内存管理。主要内容:地址空间(mm_struct)虚拟内存区域(VMA)地址空间和页表 1. 地址空间(mm_struct)地址空间就是每个进程所能访问的内存地址范围。这个地址范围不是真实的,是虚拟地址的范围,有时甚至会超过实际物理内存的大小。 现代的操作系统中进程都是在保转载 2015-03-22 10:18:58 · 295 阅读 · 0 评论 -
文件系统挂载和分区
首先1、MBR是独立于所有分区的。每个分区还有一个引导区。2、硬件启动后,读取mbr运行,mbr根据分区表信息,读取某个分区的引导区,引导区再从该区引导。 计算机中存放信息的主要的存储设备就是硬盘,但是硬盘不能直接使用,必须对硬盘进行分割,分割成的一块一块的硬盘区域就是磁盘分区。在传统的磁盘管理中,将一个硬盘分为两大类分区:主分区和扩展分区。主分区是能够安装操作系统,转载 2015-03-23 13:44:05 · 1265 阅读 · 0 评论 -
为什么说win的分区是由fat表组织的,而linux的分区是按照块的方式组织的?
文件配置表(File Allcation Table;FAT)又称文档分配表,是一种由微软发明并拥有部分专利的文档系统,供MS-DOS使用,也是所有非NT内核的微软窗口使用的文件系统(即FAT 16和FAT 32文件系统)。FAT文件系统考虑的是计算机性能有限,所以未被复杂化,因此几乎所有的个人计算机的操作系统都支持。 而linux分区,比如采用ext2文件系统,则其分区的结构为:原创 2015-03-23 14:16:00 · 563 阅读 · 0 评论 -
文件使用二进制模式打开情况下的换行的方法
今天用VS2010写个简单的用来记录软件的日志到文件的程序,使用\n原因:对于文件,在windows平台下的换行是LRCR(“\r\n")(只针对WINDOWS的记事本工具来说,若用智能些的文本编辑器,就会换行了),, 所以在使用二进制模式打开文件,写入的时候,换行请使用\r\n,记事本工具打开肯定是正确的,但是使用一些智能文本编辑器比如notepad,则可能会有不同的效果(比如not转载 2015-04-02 13:40:39 · 2846 阅读 · 0 评论 -
内存中常见异常值的解释(比如0xcccccccc、0xcdcdcdcd和 0xfeeefeee 异常值 )
* 0xcccccccc : Used by Microsoft's C++ debugging runtime library to mark uninitialised stack memory* 0xcdcdcdcd : Used by Microsoft's C++ debugging runtime library to mark uninitialised heap memor转载 2015-04-03 21:28:42 · 982 阅读 · 0 评论 -
C语言八皇后问题中怎样判断满足行列斜线没有棋子的条件?
算法分析:数组a、b、c分别用来标记冲突,a数组代表列冲突,从a[0]~a[7]代表第0列到第7列,如果某列上已经有皇后,则为1,否则为0; 数组b代表主对角线冲突,为b[i-j+7](行号-列号+7),主对角线共有15条,即从b[0]~b[14],如果某条主对角线上已经有皇后,则为1,否则为0; 数组c代表从对角线冲突,为c[i+j](行号加列号),从对角线也有15条,即从c[0]~转载 2015-04-03 22:08:14 · 2194 阅读 · 0 评论 -
SIGHUP信号与控制终端
SIGHUP信号与控制终端UNIX中进程组织结构为 session (会话)包含一个前台进程组及一个或多个后台进程组,一个进程组包含多个进程。一个session可能会有一个session首进程,而一个session首进程可能会有一个控制终端。一个进程组可能会有一个进程组首进程。进程组首进程的进程ID与该进程组ID相等。这儿是可能会有,在一定情况之下是没有的。与终端交互的进程是前台进转载 2015-03-25 18:33:03 · 353 阅读 · 0 评论 -
线程安全和可重入
线程安全: 线程安全函数:在C语言中局部变量是在栈中分配的,任何未使用静态数据或其他共享资源的函数都是线程安全的。 使用全局变量的函数是非线程安全的。 使用静态数据或其他共享资源的函数,必须通过加锁的方式来使函数实现线程安全。 线程安全的(Thread-Safe):转载 2015-03-25 16:54:09 · 355 阅读 · 0 评论 -
POWER虚拟化
IBM 动态分区迁移(Live Partition Mobility)技术-概述:http://www.ibm.com/developerworks/cn/aix/redbooks/live-mobility/虚拟机管理程序、虚拟化和云: 深入剖析 PowerVM 虚拟机管理程序:http://www.ibm.com/developerworks/cn/clou转载 2015-03-24 13:00:17 · 468 阅读 · 0 评论 -
回车和换行
我一直没有搞得很清楚,回车和换行符有啥区别。记得大一时,C语言老师就说过回车、换行,但都没说得那么细。前两天,看写两句Perl代码时,忽然想起区别一下回车和换行(\r和\n)。现在理解清楚了,记个笔记吧。符号 ASCII码 意义\n 10 换行NL\r 13 回车CR回车 \r 本义是光标重新回到本转载 2015-03-30 14:45:42 · 522 阅读 · 0 评论 -
磁盘缓冲区和内存缓冲区
一般编程所说的缓冲区指的是内存缓冲区,这是程序所设置的一块内存空间,用来暂存从其他设备读入的数据或者是即将写入其他设备的数据; 而磁盘缓冲区有两种: 意是上面说的内存缓冲区,只是它是专门为读取或写入磁盘而设置的,因此可以简称为磁盘缓冲区,这个的例子是很多下载软件比如迅雷种都有的磁盘缓存设置,即先将数据下载到内存中缓存起来,达到一定数量后再写到磁盘里,从而减少了读写磁盘的次数,以转载 2015-03-24 11:16:49 · 5020 阅读 · 0 评论 -
使用ulimit 命令可以分别查看软限制和硬限制
在Linux的系统中对于进程(Process)会有一些限制,这就所谓的limit,在实际应用中最常见的就是对打开文件(Open Files)的限制,在配置web 服务如nginx时就会用到。在linux中这些限制是分为软限制(soft limit)和硬限制(hard limit)的。他们的区别就是软限制可以在程序的进程中自行改变(突破限制),而硬限制则不行(除非程序进程有root权限)转载 2015-03-31 11:21:05 · 3602 阅读 · 0 评论 -
ulimit
1、说明ulimit 命令。ulimit用于shell启动进程所占用的资源.说明2、类别shell内建命令3,、语法格式:ulimit [-acdfHlmnpsStvw] [size]4、参数-H 设置硬资源限制.-S 设置软资源限制.-a 显示当前所有的资源限制.-c size:设置core文件的最大值.单位:blocks转载 2015-03-31 12:08:57 · 751 阅读 · 0 评论 -
Linux系统的启动引导过程
启动第一步--加载BIOS打开计算机电源,计算机会首先加载BIOS信息, BIOS中包含了CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息等等。启动第二步--读取MBR硬盘上第0磁道第一个扇区被称为MBR,也就是Master Boot Record,即主引导记录,它的大小是512字节,存放了预启动信息、分区表信息。系统找到BIOS所指定的硬盘的MBR转载 2015-03-23 14:02:10 · 398 阅读 · 0 评论 -
ASCII码
ASCII码的取值范围是0~127,可以用7个bit表示。C语言中char型变量的大小规定为一字节,如果存放ASCII码则只用到低7位,高位为0。以下是ASCII码表:图 A.1. ASCII码表绝大多数计算机的一个字节是8位,取值范围是0~255,而ASCII码并没有规定编号为128~255的字符,为了能表示更多字符,各厂商制定了很多种ASCII码的扩展规范。注意,虽转载 2015-04-01 21:41:12 · 1839 阅读 · 0 评论 -
ASCII码对照表(0-255)[备忘]
ASCII码表 信息在计算机上是用二进制表示的,这种表示法让人理解就很困难。因此计算机上都配有输入和输出设备,这些设备的主要目的就是,以一种人类可阅读的形式将信息在这些设备上显示出来供人阅读理解。为保证人类和设备,设备和计算机之间能进行正确的信息交换,人们编制的统一的信息交换代码,这就是ASCII码表,它的全称是“美国信息交换标准代码”。转载 2015-04-01 21:31:04 · 1817 阅读 · 0 评论 -
理解IP地址和端口号
IP地址是一个规定,现在使用的是IPv4,既由4个0-255之间的数字组成,在计算机内部存储时只需要4个字节即可。在计算机中,IP地址是分配给网卡的,每个网卡有一个唯一的IP地址,如果一个计算机有多个网卡,则该台计算机则拥有多个不同的IP地址,在同一个网络内部,IP地址不能相同。IP地址的概念类似于电话号码、身份证这样的概念。由于IP地址不方便记忆,所以有专门创造了域名(Domain Na转载 2015-04-01 20:40:10 · 455 阅读 · 0 评论 -
为什么最好是先装windows再装linux?
在装多个操作系统的时候,为什么最好是先装windows再装linux?小弟刚接触linux...fedora 8还是鹏哥帮我装的,第一次接触linux,知道它是开源的时候,就开始对它很感兴趣了,边学边实践(介绍一本书,偶在图书馆淘宝来的--《鸟哥的linux私房菜》...),学习了一些命令和启动流程,好了,废话不多说,进入正题在看到linux引导加载程序的时候,我终于自己相通了一个转载 2015-03-23 13:57:42 · 2059 阅读 · 0 评论 -
进程可打开的最大文件数和目录下的最大文件数
在unix系统下,每个进程能打开的文件数由核心参数NOFILES设定。这个值一般是1024。但是许多shell使用了标准输入、标准输出、标准错误(描述符1、2、3),所以单个进程实际能打开的文件数为1024-3=1021个。如果没有确实的必要,最好不要去修改这个参数。单个目录下的文件数由核心参数MAX_INODE设定,一般最大值是64000。但实际上一个目录下的文件数达到远低于上限的一转载 2015-03-31 11:19:29 · 4402 阅读 · 0 评论 -
local_irq_disable
local_irq_disable仅仅是设置当前CPU的中断屏蔽位disable_irq 是禁用全部cpu中断(只是当前irq)如果你要禁止所有的中断该怎么办? 在2.6内核中,可以通过下面两个函数中的其中任何一个关闭当前处理器上的所有中断处理,这两个函数定义在 中:void local_irq_save(unsigned long flags);void lo转载 2015-03-12 13:39:37 · 605 阅读 · 0 评论 -
bat中echo 和 @echo有何区别?
他们的区别只是那个 @@echo 运行时隐藏echo 这命令,echo 运行时显示echo 这命令@ 的功能就是隐藏运行后面的命令来源:http://zhidao.baidu.com/question/493138714.html?qbl=relate_question_0&word=%40echo&optimi=4至于.bat文件(批处理文转载 2015-03-30 15:07:48 · 2969 阅读 · 0 评论 -
重复数据删除In-band和Out-of-band的区别
听说基于硬件的重复数据删除产品中有In-band和Out-of-band两种功能,请问这两种功能的区别,哪种更好了? 首先,让我讲讲基于硬件的重复数据删除产品的好处:基于硬件的重复数据删除产品能减轻与基于软件的重复数据删除产品相关的处理负担。重复数据删除功能还被融合到其它数据保护硬件中,如备份平台、虚拟磁带库(VTL)系统甚至通用存储系统像网络附加存储(NAS)等。通常这种方法并不旨在缩小备转载 2015-03-26 21:11:52 · 964 阅读 · 0 评论 -
linux和unix
linux和unix有什么区别啊?unix开源么?真正意义上的Unix系统已经不存在了现在所谓的Unix或Unix-Like系统都是继承了一部分的Unix(有的继承了部分代码,有的则只集成了一些特点而没有继承代码)Linux是荷兰学生Linus在1991年的时候,参考Unix的结构特点(只是结构特点,没有参考哪怕一行的代码)自己写出的一个操作系统。属于最典型的Unix-Like系统(“转载 2015-03-26 20:08:33 · 419 阅读 · 0 评论 -
对于linux中>和>>的说明
>:是定向输出到文件,如果文件不存在,就创建文件;如果文件存在,就将其清空;一般我们备份清理日志文件的时候,就是这种方法:先备份日志,再用`>`,将日志文件清空(文件大小变成0字节);>>:这个是将输出内容追加到目标文件中。如果文件不存在,就创建文件;如果文件存在,则将新的内容追加到那个文件的末尾,该文件中的原有内容不受影响。即>: 会重写文件,如果文件里面有内容会转载 2015-03-26 18:29:54 · 1088 阅读 · 0 评论