自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (1)
  • 收藏
  • 关注

原创 c语言宏定义

<br />写好C语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性 等等。<br />下面列举一些成熟软件中常用得宏定义。。。。。。<br />1,防止一个头文件被重复包含<br />#ifndef COMDEF_H<br />#define COMDEF_H<br />//头文件内容<br />#endif<br />2,重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移植。<br />typedef unsigned char boolean;

2010-11-02 15:06:00 583

原创 #line用法

<br /><br />#line 详细解释看MSDN<br />这里主要是解释一下:<br />#line  行数 文件名 <br />在混合语言编程环境中,一般都有一个预编译器,把寄宿语言翻译成C这种寄主语言,而翻译过程会导致我们的代码行数发生变化,这时候编译器给我们报告那一行出现问题了之类的情况,就会导致我们不知所云,因为那个行数不是我们在实际代码中看到的行数。在可能出错的地方插入#line语句,将编译器内部存储的函数和文件名用你传给的行数和名称代替,这样该处出错时,编译器将返回你给出的行数和文件名。

2010-11-01 16:30:00 4207

原创 uname 命令

<br />uname 命令<br />用途<br />显示当前操作系统名称。语法<br />uname [ -a | -x | -SName ] | [ -l ] [ -L ] [ -m ] [ -M ] [ -n ] [ -p ] [ -r ] [ -s ] [ -TName ] [ -u ] [ -v ]描述<br />uname 命令将正在使用的操作系统名写到标准输出中。机器 ID 号码包括以下数字格式的 12 个字符 xxyyyyyymmss。xx 位置指示系统且始终为 00。yyyyyy 位置包

2010-10-19 20:25:00 950

原创 Linux命令行技术大全

<br />  第1章磁盘管理命令  1.1目录管理命令  1.1.1切换工作目录--cd  1.1.2显示工作目录--pwd  1.1.3列出目录内容--ls  1.1.4树状目录列表--tree  1.1.5建立目录--mkdir  1.1.6删除目录--rmdir  1.1.7链接目录内容--lndir  1.1.8列出目录栈内容--dirs  1.1.9目录入栈--pushd  1.1.10目录出栈--popd  1.2MS-DOS文件系统磁盘管理命令  1.2.1切换目录--mcd  1.2.2目

2010-10-18 21:55:00 1335

转载 ICMP

<br />ICMP是(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。<br /> <br />ICMP协议是一种面向连接的协议,用于传输出错报告控制信息。它是一个非常重要的协议,它对于网络安全具有极其重要的意义。  它是TCP/IP协议族的一

2010-10-12 11:42:00 698

原创 Linux文件及目录的Suid/Guid和T属性

<br />1. 4000---调整用户号<br />2000---调整组号<br />1000---粘着置位<br />2. suid/guid程序<br />当一个程序的用户或组被置位的时候,即4000或2000时,可实现某些特殊的功能一般来说,一个运行中的程序为运行这个程序的用户所拥有,但如果该程序是suid/guid程序,则运行的程序则为文件所有者拥有,运行中的程序在程序运行期间拥有文件所有者的全部权限如果一个普通用户运行了一个属于根用户的带s标志的程序,则该程序不考虑用户权限, 自动拥有在系统中读

2010-10-09 10:30:00 1307

原创 setgid, setuid, sticky文档权限

<br /> 一般情况下,一个普通文档或目录的文档属性如下: <br />-rw-r?r? 1 pinker users 61967 2006-06-22 21:39 frogleap.swf<br />“-rw-r?r?”<br />顺次意思为:“-”这个文档是普通文档,“rw-”表示文档属主pinker有可读可写权限,“r?”表示属主所在组有可读权限,最后的“r?”表示其他<br />用户只有可读权限。该权限用8进制表示是0644或644(省去前面一个特别权限位)。具体能够参考这一份文档。<br />这

2010-10-09 10:27:00 750

转载 Linux安全体系的文件权限管理

<br /><br />自主访问机制(Discretionary Access Control,DAC) 指对象(比如程序、文件或进程等)的的拥有者可以任意的修改或授予此对象相应的权限。Linux的UGO(User、Group、Other)和ACL(Access Control List,访问控制列表)权限管理方式就是典型的自主访问机制。<br />Linux支持UGO和ACL权限管理方式,UGO将权限位信息存储在节点的权限中,ACL将权限位信息存储在节点的扩展属性中。不同的文件系统权限位的存储和处理方式不

2010-10-09 10:13:00 6482

转载 vi编辑器使用技巧

<br />vi编辑器的启动与退出 <br />直接进入编辑环境<br />$ vi<br />进入编辑环境并打开(新建)文件<br />$ vi myfile<br />退出vi编辑环境 <br />输入末行命令放弃对文件的修改,并退出编辑器<br />:q!<br /><br />文件的打开与读取操作 <br />打开新文件 <br />打开新的文件到vi编辑器中<br />:e filename  <br />打开新的文件到vi编辑器中,并放弃对当前文件

2010-10-08 22:01:00 730

转载 linux下ln命令使用详解---linux连接文件或目录命令

<br /><br />ln(link)<br />功能说明:连接文件或目录。<br />语  法:ln [-bdfinsv][-S <字尾备份字符串>][-V <备份方式>][--help][--version][源文件或目录][目标文件或目录] 或 ln [-bdfinsv][-S <字尾备份字符串>][-V <备份方式>][--help][--version][源文件或目录...][目的目录]<br />补充说明:ln命令用在连接文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在

2010-10-08 21:17:00 1557

转载 Linux命令小集

linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和Linux命令。Linux基本操作命令  首先介绍一个名词“控制台(console)”,它就是我们通常见到的使用字符操作界面的人机接口,例如dos。我们说控制台命令,就是指通过字符界面输入的可以操作系统的命令,例如dos命令就是控制台命令。我们现在要

2010-10-08 20:24:00 493

转载 Linux下的硬链接和符号链接

<br />硬链接和软链接的几点区别: <br /> <br /> <br /><br />1.硬链接文件和原文件指向同样的数据块,有相同的inode号和文件属性,当删除原文件时,硬链接文件仍然存在有效。但硬链接文件不同于文件的复制。应该说硬链接文件的产生只是原文件所在目录文件的内容发生改变,原文件的数据并没有得到复制,而复制文件,磁盘上有两份数据。简单说,硬链接就是一个类似于别名的概念。当原来的名字没有了,别名照样可以使用。<br /> <br /> <br />2.符号链接也称为软链接,它是包含在文件中

2010-10-08 20:01:00 797

转载 linux用户态和内核态切换理解

1. 用户态和内核态的概念区别究竟什么是用户态,什么是内核态,这两个基本概念以前一直理解得不是很清楚,根本原因个人觉得是在于因为大部分时候我们在写程序时关注的重点和着眼的角度放在了实现的功能和代码的逻辑性上,先看一个例子:1)例子void testfork(){     if(0 = = fork())     {          printf(“create new process success!/n”);     }     printf(“testfork ok/n”);}这段代码很简单,从功能的

2010-10-07 10:39:00 658

转载 Linux下ar、nm命令用法小结

当我们的程序中有经常使用的模块,而且这种模块在其他程序中也会用到,这时按照软件重用的思想,我们应该将它们生成库,使得以后编程可以减少开发代码量。这里介绍两个命令ar和nm,用来对库操作。  1、ar基本用法  ar命令可以用来创建、修改库,也可以从库中提出单个模块。库是一单独的文件,里面包含了按照特定的结构组织起来的其它的一些文件(称做此库文件的member)。原始文件的内容、模式、时间戳、属主、组等属性都保留在库文件中。  下面是ar命令的格式:  ar[-][abcfilNoPsSuvV][member

2010-09-16 17:10:00 4677

转载 Linux下编程辅助工具vim+ctags+taglist+cppcomplete+cscope+global

各个工具的主要功能:vim:这个是Linux下功能十分强大的编辑器,就不说了。ctags:生成tag文件的命令,这个是其它工具的基础。taglist:需要ctags的支撑,直接在左边列出函数列表,全局参数列表。cppcomplete:需要ctags的支撑,可以补全类型或者函数名。cscope:比较强大,可以对函数以及部分类型定义进行跳转,其实cscope是用来替代ctags功能的。global:貌似和cscope,taglist功能一样,据说对于大型的工程表现不错。各个工具的安装:1)vim,ctags,c

2010-09-14 15:56:00 859

转载 printk的那点事

      对于做嵌入式或者熟悉linux内核的人来说,对printk这个函数一定不会感到陌生。printk相当于printf的孪生姐妹,她们一个运行在用户态,另一个则在内核态被人们所熟知。   printk是在内核中运行的向控制台输出显示的函数,Linux内核首先在内核空间分配一个静态缓冲区,作为显示用的空间,然后调用sprintf,格式化显示字符串,最后调用tty_write向终端进行信息的显示。   printk与printf的差异,是什么导致一个运行在内核态而另一个运行用户态?其实这两个函数的几乎是

2010-09-14 15:00:00 604

java api 1.6中文版

java api是java软件开发必备的查询工具,是程序员的好帮手。

2014-05-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除