摘要:线程中特有的线程存储, Thread Specific Data 。线程存储有什么用了?他是什么意思了?大家都知道,在多线程程序中,所有线程共享程序中的变量。现在有一全局变量,所有线程都可以使用它,改变它的值。而如果每个线程希望能单独拥有它,那么就需要使用线程存储了。表面上看起来这是一个全局变量,所...
阅读全文
摘要:bgcolor RGB 和16进制之间的转换,16进制转RGB,源码例如:输入 201,255,201 转换成 #C9FFC9 输入 #C9FFC9 转换成 201,255,201 R G B R G B
阅读全文
摘要:1)贴图:2)加入连接:写上你想写的字1)贴图:2)加入连接:写上你想写的字 3)在新窗口打开连接:写上要写的字 消除连接的下划线在新窗口打开连接: 写上你想写的字 4)移动字体(走马灯):写上你想写的字 5)字体加粗:写上你想写的字 6)字体斜体:写上你想写的字 7)字体下划线: 写上你想写的字 ...
阅读全文
摘要:正则表达式定义正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。列目录时, dir *.txt或ls *.txt中的*.txt就不是一个正则表达式,因为这里*与正则式的*的含义是...
阅读全文
摘要:Shell参数1、 位置参数由系统提供的参数称为位置参数。位置参数的值可以用$N得到,N是一个数字,如果为1,即$1.类似C语言中的数组,在shell解释用户的命令时,将把命令行的第一个字作为命令,而其他的字作为参数。当命令对应的可执行文件为Shell程序时,这些参数将作为 位置变量传送给该程序。第...
阅读全文
摘要:转自:http://blog.csdn.net/maocl1983/article/details/6221810#include #include #include #include using namespace std;int main(int argc, char *argv[]){ ...
阅读全文
摘要:1函数简介头文件#include函数声明intpthread_create(pthread_t*tidp,constpthread_attr_t*attr,(void*)(*start_rtn)(void*),void*arg);返回值若线程创建成功,则返回0。若线程创建失败,则返回出错编号,并且*...
阅读全文
摘要:网上查了半天,终于解决远程连接没有权限的原因有两种,一个是因为mysql的限制,一个是防火墙的限制。1,解决防火墙限制:在mysql服务主机上将防火墙关闭或者在防火墙高级设置里面加入出入站规则,加上mysql的端口,允许通过mysql的端口进行访问主机。2,解决mysql的限制,在mysql服务主机...
阅读全文
摘要:1. 下载 vim-7.4.tar.bz2 2. 解压 tar -jxvf vim-7.4.tar.bz2 3. ./configure 4. make 5. 修改prefix vim src/auto/config.mk 找到prefix变量,修改为你要安装的目录 6. make install
阅读全文
摘要:编译: gcc -g -o hello hello.c gdb 调试:基本 gdb 命令.命 令 描 述小结:常用的gdb命令 backtrace 显示程序中的当前位置和表示如何到达当前位置的栈跟踪(同义词:where) breakpoint 在程序中设置一个断点...
阅读全文
摘要:在Linux系统如何让程序开机时自动启动 核心提示:系统的服务在开机时一般都可以自动启动,那在linux系统下如果想要程序在开机时自动启动怎么办?我们知道在 windows系统“开始”-->“所有程序”-->“启动”里面放个快捷方式就行,那Linux系统下呢?...系统的服务在开机时一般都...
阅读全文
摘要:linux查看网络链接状况命令 netstat 参数如下: -a 显示所有socket,包括正在监听的。 -c 每隔1秒就重新显示一遍,直到用户中断它。 -i 显示所有网络接口的信息,格式同“ifconfig -e”。 -n 以网络IP地址代替名称,显示出网络...
阅读全文
摘要:Linux开机启动程序详解我们假设大家已经熟悉其它操作系统的引导过程,了解硬件的自检引导步骤,就只从Linux操作系统的引导加载程序(对个人电脑而言通常是LILO)开始,介绍Linux开机引导的步骤。加载内核LILO启动之后,如果你选择了Linux作为准备引导的操作系统,第一个被加载的东西就是内核。...
阅读全文
摘要:整数比较-eq 等于,如:if [ "$a" -eq "$b" ]-ne 不等于,如:if [ "$a" -ne "$b" ]-gt 大于,如:if [ "$a" -gt "$b" ]-ge 大于等于,如:if [ "$a" -ge "$b" ]-lt 小于,如:if [ "$a" -lt "$b"...
阅读全文
摘要:1. 文件测试操作----------------返回true 如果...-e 文件存在-a 文件存在这个选项的效果与-e 相同.但是它已经被弃用了,并且不鼓励使用-f file 是一个regular 文件(不是目录或者设备文件)-s 文件长度不为0-d 文件是个目录-b 文件是个块设备(软盘,cd...
阅读全文
摘要:1.基本命令新手必须要掌握的初级命令ls基本的列出所有文件的命令.但是往往就是因为这个命令太简单,所以我们总是低估它.比如,用 -R 选项,这是递归选项,ls 将会以目录树的形式列出所有文件, 另一个很有用的选项是 -S ,将会按照文件尺寸列出所有文件, -t, 将会按照修改时间来列出文件,-i 选...
阅读全文
摘要:Bash 变量是不分类型的------------------------不像其他程序语言一样,Bash 并不对变量区分"类型".本质上,Bash 变量都是字符串.但是依赖于上下文,Bash 也允许比较操作和算术操作.决定这些的关键因素就是,变量中的值是否只有数字.赋值a=123a="sdsd" ...
阅读全文
摘要:chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符。系统管理员经常使用chown命令,在将文件拷贝到另一个用户的名录下之后,让用户拥有使用该文件的权限。 1.命令格式: chown [选项]...
阅读全文
摘要:Linux cd 命令可以说是Linux中最基本的命令语句,其他的命令语句要进行操作,都是建立在使用 cd 命令上的。所以,学习Linux 常用命令,首先就要学好 cd 命令的使用方法技巧。 1. 命令格式:cd [目录名] 2. 命令功能:切换当前目录至dirName 3. 常用范例3.1 ...
阅读全文
摘要:ls命令是linux下最常用的命令。ls命令就是list的缩写缺省下ls用来打印出当前目录的清单如果ls指定其他目录那么就会显示指定目录里的文件及文件夹清单。 通过ls 命令不仅可以查看linux文件夹包含的文件而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等。ls 命令...
阅读全文
摘要:学习了创建文件和目录的命令mkdir ,今天学习一下linux中删除文件和目录的命令: rm命令。rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。rm是一个危险的命令,使用的时候...
阅读全文
摘要:linux mkdir 命令用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录。1.命令格式:mkdir [选项] 目录...2.命令功能:通过 mkdir 命令可以实现在指定位置创建以 DirName(指定的文件名)命名的文件夹或目录。要...
阅读全文
摘要:Linux中用 pwd 命令来查看”当前工作目录“的完整路径。 简单得说,每当你在终端进行操作时,你都会有一个当前工作目录。 在不太确定当前位置时,就会使用pwd来判定当前目录在文件系统内的确切位置。1.命令格式:pwd [选项]2.命令功能:查看”当前工作目录“的完整路径3.常用参数:一般情况下不...
阅读全文
摘要:Linux提供了丰富的帮助手册,当你需要查看某个命令的参数时不必到处上网查找,只要man一下即可。Linux的man手册共有以下几个章节:代號 代表內容1 使用者在shell中可以操作的指令或可执行档2 系統核心可呼叫的函数与工具等3 一些常用的函数(function)与函数...
阅读全文
摘要:shendu@shenlan:~$ tree程序“tree”尚未安装。 您可以使用以下命令安装:sudo apt-get install treeshendu@shenlan:~$ sudo apt-get install treeTREE——显示磁盘目录结构命令功能:显示指定驱动器上所有目录路径...
阅读全文
摘要:今天学习一下linux中命令: rmdir命令。rmdir是常用的命令,该命令的功能是删除空目录,一个目录被删除之前必须是空的。(注意,rm - r dir命令可代替rmdir,但是有很大危险性。)删除某目录时也必须具有对父目录的写权限。1.命令格式:rmdir [选项]... 目录...2.命令功...
阅读全文
摘要:mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。1.命令格式: mv [选项] 源文件或目录 目标文件或目录2.命令功能:视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv...
阅读全文
摘要:linux的touch命令不常用,一般在使用make的时候可能会用到,用来修改文件时间戳,或者新建一个不存在的文件。1.命令格式:touch [选项]... 文件...2.命令参数:-a 或--time=atime或--time=access或--time=use 只更改存取时间。-c 或...
阅读全文
摘要:cp命令用来复制文件或者目录,是Linux系统中最常用的命令之一。一般情况下,shell会设置一个别名,在命令行下复制文件时,如果目标文件已经存在,就会询问是否覆盖,不管你是否使用-i参数。但是如果是在shell脚本中执行cp时,没有-i参数时不会询问是否覆盖。这说明命令行和shell脚本的执行方式...
阅读全文
摘要:find是我们很常用的一个Linux命令,但是我们一般查找出来的并不仅仅是看看而已,还会有进一步的操作,这个时候exec的作用就显现出来了。 exec解释:-exec 参数后面跟的是command命令,它的终止是以;为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意...
阅读全文
摘要:more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 。more命令从前向后读取文件,因此在启动时就加载...
阅读全文
摘要:nl命令在linux系统中用来计算文件中行号。nl 可以将输出的文件内容自动的加上行号!其默认的结果与 cat -n 有点不太一样, nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等等的功能。 1.命令格式:nl [选项]... [文件]...2.命令参数:-b :指定行号指定...
阅读全文
摘要:cat命令的用途是连接文件或标准输入并打印。这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用。 1.命令格式:cat [选项] [文件]...2.命令功能:cat主要有三大功能:1.一次显示整个文件:cat filename2.从键盘创建...
阅读全文
摘要:less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按...
阅读全文
摘要:tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容. 1.命令格式;tail[必要参数][选择参数][文件] 2.命令功能:...
阅读全文
摘要:head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾。 1.命令格式:head [参数]... [文件]... 2.命令功能:head 用来显示档案的开头至标准输出中,默认he...
阅读全文
摘要:locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了。在一般的 distribution 之中,数据库的建立都被放在 crontab 中自动执行。1.命令格式:Loca...
阅读全文
摘要:whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。和find相比,whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文件中,当使用whereis和下面...
阅读全文
摘要:我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索: which 查看可执行文件的位置。 whereis 查看文件的位置。 locate 配合数据库查看文件位置。 find 实际搜寻硬盘查询文件名称。wh...
阅读全文
摘要:find一些常用参数的一些常用实例和一些具体用法和注意事项。1.使用name选项:文件名选项是find命令最常用的选项,要么单独使用该选项,要么和其他选项一起使用。 可以使用某种文件名模式来匹配文件,记住要用引号将文件名模式引起来。 不管当前路径是什么,如果想要在自己的根目录$HOME中查找文件...
阅读全文
摘要:xargs是一条Unix和类Unix操作系统的常用命令。它的作用是将参数列表转换成小块分段传递给其他命令,以避免参数列表过长的问题 xargs的作用一般等同于大多数Unix shell中的反引号,但更加灵活易用,并可以正确处理输入中有空格等特殊字符的情况。对于经常产生大量输出的命令如find、loc...
阅读全文
摘要:Linux下find命令在目录结构中搜索文件,并执行指定的操作。Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只你具有相...
阅读全文
摘要:前一天学习了 at 命令是针对仅运行一次的任务,循环运行的例行性计划任务,linux系统则是由 cron (crond) 这个系统服务来控制的。Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的。另外, 由于使用者自己也可以设置计划任务,所以, Linux 系统也提供了使用...
阅读全文
摘要:在windows系统中,windows提供了计划任务这一功能,在控制面板 -> 性能与维护 -> 任务计划, 它的功能就是安排自动运行的任务。 通过'添加任务计划'的一步步引导,则可建立一个定时执行的任务。在linux系统中你可能已经发现了为什么系统常常会自动的进行一些任务?这些任务到底是谁在支配他...
阅读全文
摘要:Linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进...
阅读全文
摘要:watch是一个非常实用的命令,基本所有的Linux发行版都带有这个小工具,如同名字一样,watch可以帮你监测一个命令的运行结果,省得你一遍遍的手动运行。在Linux下,watch是周期性的执行下个程序,并全屏显示执行结果。你可以拿他来监测你想要的一切命令的结果变化,比如 tail 一个 log ...
阅读全文
摘要:Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果...
阅读全文
摘要:Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数、字数、行数,并将统计结果显示输出。1.命令格式:wc [选项]文件...2.命令功能:统计指定文件中的字节数、字数、行数,并将统计结果显示输出。该命令统计指定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入...
阅读全文
摘要:diff 命令是 linux上非常重要的工具,用于比较文件的内容,特别是比较两个版本不同的文件以找到改动的地方。diff在命令行中打印每一个行的改动。最新版本的diff还支持二进制文件。diff程序的输出被称为补丁 (patch),因为Linux系统中还有一个patch程序,可以根据diff的输出将...
阅读全文
摘要:在linux环境中,不管是编程还是其他维护,时间是必不可少的,也经常会用到时间的运算,熟练运用date命令来表示自己想要表示的时间,肯定可以给自己的工作带来诸多方便。1.命令格式: date [参数]... [+格式]2.命令功能:date 可以用来显示或设定系统的日期与时间。3.命令参数:...
阅读全文
摘要:cal命令可以用来显示公历(阳历)日历。公历是现在国际通用的历法,又称格列历,通称阳历。“阳历”又名“太阳历”,系以地球绕行太阳一周为一年,为西方各国所通用,故又名“西历”。1.命令格式:cal [参数][月份][年份]2.命令功能:用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999)...
阅读全文
摘要:scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。当你服务器硬盘变为只读 read only system时,用scp可以帮你把文件移出来。另外,scp还非常不...
阅读全文
摘要:ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接.当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁...
阅读全文
摘要:telnet命令通常用来远程登录。telnet程序是基于TELNET协议的远程登录客户端程序。Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的 能力。在终端使用者的电脑上使用telnet程序,用它连接到服...
阅读全文
摘要:rcp代表“remote file copy”(远程文件拷贝)。该命令用于在计算机之间拷贝文件。rcp命令有两种格式。第一种格式用于文件到文件的拷贝;第二种格式用于把文件或目录拷贝到另一个目录中。1.命令格式:rcp [参数] [源文件] [目标文件]2.命令功能:rcp命令用在远端复制文件或目录,...
阅读全文
摘要:netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。如果你的计算机有时候接收到的数据报导致出错数据或故障,你不必感到奇怪,...
阅读全文
摘要:ss是Socket Statistics的缩写。顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。当服务器的socket连接数量变得非常大时,无论是使用nets...
阅读全文
摘要:通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上来说大部分时候所走的路由是相同的。linux系统中,我们称之为traceroute,在M...
阅读全文
摘要:Linux系统的route命令用于显示和操作IP路由表(show / manipulate the IP routing table)。要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。在Linux系统中,设置路由通常是为了解决以下问题:该Linux系统...
阅读全文
摘要:Linux系统的ping命令是常用的网络命令,它通常用来测试与目标主机的连通性,我们经常会说“ping一下某机器,看是不是开着”、不能打开网页时会说“你先ping网关地址192.168.1.1试试”。它通过发送ICMP ECHO_REQUEST数据包到网络主机(send ICMP ECHO_REQU...
阅读全文
摘要:lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,...
阅读全文
摘要:许多windows非常熟悉ipconfig命令行工具,它被用来获取网络接口配置信息并对此进行修改。Linux系统拥有一个类似的工具,也就是ifconfig(interfaces config)。通常需要以root身份登录或使用sudo以便在Linux机器上使用ifconfig工具。依赖于ifconf...
阅读全文
摘要:vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动进行监控。他是对系统的整体情况进行统计,不足之处是无法对某个进程进行深入分析。vmstat 工具提供了一种低开销的系统性能观察方式。因为 vmstat 本身就是低开销工具...
阅读全文
摘要:Linux系统中的 iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行...
阅读全文
摘要:top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。下面详细介绍它的使用方法。top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.比较准确的说,top命令提供了...
阅读全文
摘要:free命令可以显示Linux系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer。在Linux系统监控的工具中,free命令是最经常使用的命令之一。1.命令格式:free [参数]2.命令功能:free 命令显示系统使用和空闲的内存情况,包括物理内存、交互区内存(swap)和内核...
阅读全文
摘要:linux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。1.命令格式:df [选项] [文件]2.命令功能:显示指定磁盘文件的可用空间。如果没有文件名被指定,则所有当前被挂载的文件系统的可用空间将被显示。默...
阅读全文
摘要:Linux du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的.1.命令格式:du [选项][文件]2.命令功能:显示每个文件和目录的磁盘使用空间。3.命令参数:-a或-all 显示目录中个别文件的大小。 -b或...
阅读全文
摘要:chmod命令用于改变linux系统文件或目录的访问权限。用它控制文件或目录的访问权限。该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。 文件或目录的...
阅读全文
摘要:在lunix系统里,文件或目录的权限的掌控以拥有者及所诉群组来管理。可以使用chgrp指令取变更文件与目录所属群组,这种方式采用群组名称或群组识别码都可以。Chgrp命令就是change group的缩写!要被改变的组名必须要在/etc/group文件内存在才行。1.命令格式:chgrp [选项] ...
阅读全文
摘要:Linux /etc/group文件与/etc/passwd和/etc/shadow文件都是有关于系统管理员对用户和用户组管理时相关的文件。linux /etc/group文件是有关于系统管理员对用户和用户组管理的文件,linux用户组的所有信息都存放在/etc/group文件中。具有某种共同特征的...
阅读全文
摘要:通过SSH访问服务器,难免会要用到压缩,解压缩,打包,解包等,这时候tar命令就是是必不可少的一个功能强大的工具。linux中最流行的tar是麻雀虽小,五脏俱全,功能强大。tar命令可以为linux的文件和目录创建档案。利用tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者...
阅读全文
摘要:减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。gzip不仅可以用来压缩大的、较少使用的文件以节省磁盘空间,还可以和tar命令一起构成Linux操作系统中比较流行的压...
阅读全文
摘要:我们每天都在使用互联网,我们电脑上的数据是怎么样通过互联网传输到到另外的一台电脑上的呢?把自己的理解写一下,可能有很多细节还没有能的很清楚!希望在以后可以使之更加的完善!有不对的地方还请指正. 我们知道现在的互联网中使用的TCP/IP协议是基于,OSI(开放系统互联)的七层参考模型的,(虽...
阅读全文
摘要:简单地说:ip地址是服务商给你的,mac地址是你的网卡物理地址。 一、IP地址 对于IP地址,相信大家都很熟悉,即指使用TCP/IP协议指定给主机的32位地址。IP地址由用点分隔开的4个8八位组构成,如192.168.0.1就是一个IP地址,这种写法叫点分十进制格式。IP地址由网络地址和主机地址...
阅读全文
摘要:用SSH管理linux服务器时经常需要远程与本地之间交互文件.而直接用SecureCRT自带的上传下载功能无疑是最方便的,SecureCRT下的文件传输协议有ASCII、Xmodem、Zmodem。 文件传输协议: 文件传输是数据交换的主要形式。在进行文件传输时,为使文件能被正确识别和传...
阅读全文
摘要:listen函数使用主动连接套接口变为被连接套接口,使得一个进程可以接受其它进程的请求,从而成为一个服务器进程。在TCP服务器编程中listen函数把进程变为一个服务器,并指定相应的套接字变为被动连接。 listen函数在一般在调用bind之后-调用accept之前调用,它的函数原型是: -----...
阅读全文
摘要:为了防止网络的拥塞现象,TCP提出了一系列的拥塞控制机制。最初由V. Jacobson在1988年的论文中提出的TCP的拥塞控制由“慢启动(Slow start)”和“拥塞避免(Congestion avoidance)”组成,后来TCP Reno版本中又针对性的加入了“快速重传(Fast retr...
阅读全文
摘要:一、问题的引入——socket的引入是为了解决不同计算机间进程间通信的问题1.socket与进程的关系1).socket与进程间的关系:socket 用来让一个进程和其他的进程互通信息(IPC),而Socket接口是TCP/IP网络的API接口函数。2).进程间通信(本机内)进程间通信(不同计算机,...
阅读全文
摘要:RFC: 0.0.0.0/8 - Addresses in this block refer to source hosts on "this"network. Address 0.0.0.0/32 may be used as a source address for thishost on th...
阅读全文
摘要:网络参数设置命令 所有时刻如果你想要做好自己的网络参数设置,包括IP参数、路由参数和无线网络等,就得要了解下面这些相关的命令才行。其中Route及ip这两条命令是比较重要的。当然,比较早期的用法,我们都是使用ifconfig的。? ifconfig:查询、设置网卡和IP网段等相关参数。? ifup、...
阅读全文
摘要:1. 记住阿姆达尔定律:funccost是函数func运行时间百分比,funcspeedup是你优化函数的运行的系数。所以,如果你优化了函数TriangleIntersect执行40%的运行时间,使它运行快了近两倍,而你的程序会运行快25%。这意味着不经常使用的代码不需要做较多优化考虑(或者完全不优...
阅读全文
摘要:setitimer()为Linux的API,并非C语言的Standard Library,setitimer()有两个功能,一是指定一段时间后,才执行某个function,二是每间格一段时间就执行某个function,以下程序demo如何使用setitimer()。/* setitimer 原函数声...
阅读全文
摘要:1.文件IO 2.文件与目录 3.进程 4.多线程编程 5.信号 6.进程间通信 学习linux编程,首先要学会使用shell,这里一些基础命令就不介绍了。这里唯一要提的一个shell命令就是man。man是任何一个开发者都应该学会经常使用的工具,使用man比去查看任何一本教材都要来的快速准确。ma...
阅读全文
摘要:Linux文件类型和Linux文件的文件名所代表的意义是两个不同的概念。我们通过一般应用程序而创建的比如file.txt、file.tar.gz ,这些文件虽然要用不同的程序来打开,但放在Linux文件类型中衡量的话,大多是常规文件(也被称为普通文件)。一. 文件类型Linux文件类型常见的有:普通...
阅读全文
摘要:pthread_t 类型定义: typedef unsigned long int pthread_t; //come from /usr/include/bits/pthread.h用途:pthread_t用于声明线程ID。 sizeof (pthread_t) =4; linux...
阅读全文
摘要:Linux 文件或目录的属性主要包括:文件或目录的节点、种类、权限模式、链接数量、所归属的用户和用户组、最近访问或修改的时间等内容。具体情况如下:命令: ls -lih输出:[root@localhost test]# ls -lih总计 316K2095120 lrwxrwxrwx 1 root ...
阅读全文
摘要:对于每一个Linux学习者来说,了解Linux文件系统的目录结构,是学好Linux的至关重要的一步.,深入了解linux文件目录结构的标准和每个目录的详细功能,对于我们用好linux系统只管重要,下面我们就开始了解一下linux目录结构的相关知识。当在使用Linux的时候,如果您通过ls –l / ...
阅读全文
摘要:我们在编译c/c++代码的时候,有人用gcc,有人用g++,于是各种说法都来了,譬如c代码用gcc,而c++代码用g++,或者说编译用gcc,链 接用g++,一时也不知哪个说法正确,如果再遇上个extern "C",分歧就更多了,这里我想作个了结,毕竟知识的目的是令人更清醒,而不是更糊涂。误区一:g...
阅读全文
摘要:PID,进程号 , 范围在2~32767(??为什么需要这么多),而一个名为idle (或swapper)的进程占据的编号0,init进程占据了编号1。 进程0和进程1 : 系统启动时会从无到有地创建进程0,它是所有其它进程的祖先。进程0最终会创建进程1,也就是init,它是Unix系统内核初始化与...
阅读全文
摘要:学习了linux下的进程,觉得应该整理一下,忘得差不多了,顺便回顾一下。 学而时习之,不亦说乎~~ 进程笔记 1,什么是进程? The Single UNIX Specification, Version 2 (UNIX98) and its predecessor Version 1 (...
阅读全文
摘要:我们知道,当用fork启动一个新进程以后,新进程会复制父进程的大部份内存空间并接着运行父进程中的代码,如果我们使新进程不运行原父进程的代码,转而运行另外一个程序集中的代码,这就相当于启动了一个新程序。 所以,要运行一个新程序,需要最基本的两步: Ÿ 创建一个可运行程序的环境,也就是进程。 Ÿ 将环境...
阅读全文
摘要:当进程被新建时,内核会给进程分配一个8K的空间作为进程的内核堆栈。同时我们知道task_struct结构体也会被创建,但有意思的是,内核不会给task_struct单独分别空间,而是直接将其扔到8k的内核堆栈中,与内核堆栈共享这8K内存。 假设我们用如下结构表示进程描述符和内核堆栈: struct ...
阅读全文
摘要:从数据结构的角度,进程用task_struct结构来描述,称为“进程描述符 (Process Descriptor)”或者“进程控制块(Process Control Block, PCB)”,其包含着一个进程的绝大部分关键信息。当新建一个进程时,系统会新建一个task_struct结构,结构中的一...
阅读全文
摘要:在分时系统中,系统将CPU时间划分成无数个时间片(quantum)分配给不同的进程,一个时间片只执行一个进程,并且不停地切换,以让用户感觉到各个进程是在“同时运行”,这中间所需要的策略和算法便是进程调度。 一个很好的例子是:假设目前系统只运行了两个进程,一个解压缩程序和一个文本编辑器。由于解压缩程序...
阅读全文
摘要:task_struct的state字段记录的进程的状态,可分为如下几种: #define TASK_RUNNING 0 可运行状态。这是 “进程正在被CPU运行” 和 “进程正在可运行队列中等待被CPU运行” 统称。也可以将它们拆开成“RUNNING”和“READY”两种状...
阅读全文
摘要:Ÿ 退出/终止进程 void _exit(int status) 与 void exit(int status) 这两个函数都是让进程退出, 参数status表示进程将以何种状态退出,在中预定义了一些状态,比如EXIT_SUCCESS(值为0)表示以成功状态退出,EXIT_FAILURE(值为1)表...
阅读全文
摘要:Ÿ 等待子进程结束 pid_t waitpid(pid_t pid, int *stat_loc, int options) 另外有一个函数叫wait,其相当于 waitpid(-1, &status, 0) 大家经常看到的关于waitpid的经典例子是:你下载了某个软件的安装程序A,其在安装即将结...
阅读全文
摘要:进程跟踪 long ptrace(enum __ptrace_request request, pid_t pid, void *addr, void *data); Linux用ptrace来进行进程跟踪,就跟我们平时用GDB debug一样,它允许一个进程去跟踪和控制另外一个进程。当被跟踪进程有信号发生时,被跟踪进程会被暂停下来,其内存空间变得可读写,跟踪它的进程可以选择是否忽略该信号...
阅读全文
摘要:Ÿ 暂停进程 int pause() 其会挂起当前进程直到有信号来唤醒或者进程被结束。 随便提一下,如果你仅仅需要简单地暂停一下(press any key to continue...), 可以使用 system("pause")这个系统调用,甚至是getch()之类的。 下面这个demo有点晦...
阅读全文
摘要:所谓“进程间通信(IPC,inter-process communication)”,按照其目的讲就是让进程之间能够“共享数据”,“传输数据”,“事件通知”等,我所知道的一共有“管道” “信号” “消息队列(报文)” “共享内存” “套接字” 这几种方式。 这里先看看“管道” 可以将管道想...
阅读全文
摘要:信号(或软中断)是在软件层次上对中断的一个模拟,其运行在“用户空间”,一个进程对另外一个或几个进程通过发送信号来实现异步通信。当接收进程接收到信号后,其可以注册一下处理函数来说对这些信号进行处理(也可以选择忽略该信号或者采用系统默认的处理方式)。 我看可以通过“kill -l”命令来查看系统支持的信...
阅读全文
摘要:与“无名管道”不同的是,FIFO拥有一个名称来标志它,所谓的名称实际上就是一个路径,比如“/tmp/my_fifo”,其对应到磁盘上的一个管道文件,如果我们用file命令来查看其文件类型的话,会得到如下输出:my_fifo: fifo (named pipe) 为了简化对FIFO的理解,我们可以这样...
阅读全文
摘要:可以想象,如果两个进程都可以访问同一个队列:其中一个进程(sender)向其中写入结构化数据,另外一个进程(receiver)再从其中把结构化的数据读取出来。那么这两个进程就是在利用这个队列进行通信了,这个队列也就称为消息队列(message queue)。 消息队列有system V和POSIX两...
阅读全文
摘要:如果能划定一块物理内存,让多个进程都能将该内存映射到其自身虚拟内存空间的话,那么进程可以通过向这块内存空间读写数据而达到通信的目的。另外,和消息队列不同的是,共享的内存在用户空间而不是核空间,那么就不存在“用户空间和内核空间之间数据复制”的问题,这会减少不少开销。 由于不同进程都可能向同一个空间读写...
阅读全文
摘要:作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!TCP(Transportation Control Protocol)协议与IP协议是一同产生的。事实上,两者最初是一个协议,后来才被分拆成网络层的IP和传输层的TCP。我们已经在U...
阅读全文
摘要:直接使用PHP函数substr截取中文字符可能会出现乱码,主要是substr可能硬生生的将一个中文字符“锯”成两半。解决办法:1、使用mbstring扩展库的mb_substr截取就不会出现乱码了。2、自己书写截取函数,但效率不如用mbstring扩展库来得高。3、如果仅是为了输出截取的串,可用如下...
阅读全文
摘要:1.#!/usr/bin/perl -w 内建警告信息,Perl发出警告 2.字符串 . 连接符 3.重复次数 "fred" x 3 4.字符串与数字之间的自动转换 5.$变量 赋值 $fred =17; + += *= .= not and or xor 6.print 输出 7.比较字符 数值 == != = 字符串 eq ne lt gt le ge 8...
阅读全文
摘要:a. 如果欲使用gb2312编码,那么php要输出头:header(“Content-Type: text/html; charset=gb2312"),静态页面添加,所有文件的编码格式为ANSI,可用记事本打开,另存为选择编码为ANSI,覆盖源文件。b. 如果欲使用utf-8编码,那么php要输出...
阅读全文
摘要:shell 简单的实现守护进程 单纯的使用 &命令 + ctrl+D退出终端 原理: 关闭终端有两种方式,一种是点叉,这时候,你关闭的是gnome-terminal这个进程,而Bash是它的子进程,它会将Bash杀死,而Bash的所有子进程都会因为 父进程死了而同时死掉,所以你直接点叉会导致firefox被关掉。而如果你是在终端里输exit命令或者ctrl-d,实际上是Bash自己退出,b...
阅读全文
摘要:说下几种方式的区别第一种和第二种没有什么区别,两种方式都需要提前赋予脚本以执行权限。第三种是把脚本当做bash的调用来处理,所以,脚本不需要有执行权限就可以执行。前三种方式都是在当前shell中打开一个子shell来执行脚本内容,当脚本内容结束,则子shell关闭,回到父shell中。第四种是使脚本
阅读全文
摘要:信号灯(信号量)不是进程通信手段,其是用于控制和协调在进程间通信过程中的共享资源访问,就如同互斥锁(两者的区别可以参考这里) 可以将简单地将信号灯想象成一个计数器,初始时计数器值为n(有n个资源可供使用),当进程占用资源时计数器减1,资源被释放时计数器加1,没有资源可用时计数器为0。 如果资源只用“...
阅读全文
摘要:\'\"\ ]*).*?>/'; $result = preg_match_all($reg_tag_a, $web_content, $match_result); if ($result) { return $match_result[1]; } } /** * ...
阅读全文
摘要:通过MySQL命令行,可以修改MySQL数据库的密码,下面就为您详细介绍该MySQL命令行,如果您感兴趣的话,不妨一看。格式:mysqladmin -u用户名 -p旧密码 password 新密码1、给root加个密码ab12。首先在DOS下进入目录mysql\bin,然后键入以下命令mysqlad...
阅读全文
摘要:linux curl是一个利用URL规则在命令行下工作的文件传输工具。它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称url为下载工具。一,curl命令参数,有好多我没有用过,也不知道翻译的对不对,如果有误的地方,还请指正。-a/--append 上传文件时,附加到目标文件-A/--u...
阅读全文
摘要:简介sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输...
阅读全文
摘要:shell中截取字符串的方法有很多中,${expression}一共有9种使用方法。${parameter:-word}${parameter:=word}${parameter:?word}${parameter:+word} 上面4种可以用来进行缺省值的替换。${#parameter}上面这种可...
阅读全文
摘要:Mysql是数据库中的主流,因此我一直以为在Linux下配置会很很容易,结果Google了大半天,大部分网页只说了如何安装Mysql之类的废话,对如何使用C/C++连接Mysql却只字不提,或者提的方法也根本不可用.下面列出一种可行的方法,我用的是Ubuntu,其他发行版应该也大同小异.安装Mysq...
阅读全文
摘要:简介awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,g...
阅读全文
摘要:1简介GCC 的意思也只是 GNU C Compiler 而已。经过了这么多年的发展,GCC 已经不仅仅能支持 C 语言;它现在还支持 Ada 语言、C++ 语言、Java 语言、Objective C 语言、Pascal 语言、COBOL语言,以及支持函数式编程和逻辑编程的 Mercury 语言,...
阅读全文
摘要:简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、no...
阅读全文
摘要:vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令,一个是Linux/Unix都支持,二是相比top,我可以看到整个机器的CPU,内存,IO...
阅读全文
摘要:前言本文主要是写一些程序员通用的经典书籍,与具体编程语言无关,希望给初学者或者想深入的朋友一些建议,帮助成长。以下的资料都是免登陆下载,而且都是free的。如果大家觉得资料好的话,推荐给周围的朋友,让更多的人少走弯路。编程类《代码大全》下载地址编程的百科全书,必读。这也是一本完整的软件构建手册,涵盖...
阅读全文
摘要:前言一直有这么个想法,列一下我个人认为在学习和使用Java过程中可以推荐一读的书籍,给初学者或者想深入的朋友一些建议,帮助成长。推荐的的都是我自己读过,也会推荐一些朋友读过并且口碑不错的书籍。以下的资料都是免登陆下载,而且都是free的。如果大家觉得资料好的话,推荐给周围的朋友,让更多的人少走弯路。...
阅读全文
摘要:F1: 帮助Ctrl+O :OpenCtrl+P :PrintCtrl+N :NewCtrl+Shift+F2 :清除所有书签F2 :上一个书签Shift+F2 :上一个书签Alt+F2 :编辑书签Ctrl+F2 :添加/删除一个书签F12 :Goto definitionShift+F12 :Go...
阅读全文
摘要:头文件:#include 定义函数:int system(const char * string);函数说明:system()会调用fork()产生子进程, 由子进程来调用/bin/sh-c string 来执行参数string 字符串所代表的命令, 此命令执行完后随即返回原调用的进程. 在调用sy...
阅读全文
摘要:SVN与CVS比较所有的文档都显示SVN可以取代CVS,同时SVN的问题和缺点都被隐藏了。不幸的是,我们并不认为SVN是CVS的替代品,尽管很多缺陷都被修改了。更有甚者,它甚至让人重回VSS。CVS和SVN的比较类似与比较C++和Java。很明显CVS和SVN都远比SourceSafe强大的多,如同...
阅读全文
摘要:基本上,在Makefile里会用到install,其他地方会用cp命令。它们完成同样的任务——拷贝文件,它们之间的区别主要如下:1、最重要的一点,如果目标文件存在,cp会先清空文件后往里写入新文件,而install则会先删除掉原先的文件然后写入新文件。这是因为往正在 使用的文件中写入内容可能会导致一...
阅读全文
摘要:install 1.作用 install命令的作用是安装或升级软件或备份数据,它的使用权限是所有用户。 2.格式 (1)install [选项]... 来源 目的地 (2)install [选项]... 来源... 目录 (3)install -d [选项]... 目录... 在前两种格式中,会将复...
阅读全文
摘要:前一阵远程维护Linux服务器,使用的是SSH,传说中的secure shell。登陆:ssh [hostname] -u user输入密码:*****登 陆以后就可以像控制自己的机器一样控制它了,不过没有可视化的界面。不过现在我所使用过的两个版本Linux(SUSE和FC5)中有可以使用类似FTP...
阅读全文
摘要:功能说明:重新运算求出参数的内容。语 法:eval [参数]补充说明:eval可读取一连串的参数,然后再依参数本身的特性来执行。参 数:参数不限数目,彼此之间用分号分开。 1.eval命令将会首先扫描命令行进行所有的替换,憨厚再执行命令。该命令使用于那些一次扫描无法实现其功能的变量。该命令对变量...
阅读全文
摘要:前言在网络传输、设备之间转存、复制大文件等时,可能会出现传输前后数据不一致的情况。这种情况在网络这种相对更不稳定的环境中,容易出现。那么校验文件的完整性,也是势在必行的。使用说明md5sum命令用于生成和校验文件的md5值。它会逐位对文件的内容进行校验。是文件的内容,与文件名无关,也就是文件内容相同...
阅读全文
摘要:一,什么是xml,xml有什么用途 XML(Extensible Markup Language)即可扩展标记语言,它与HTML一样,都是SGML(Standard Generalized Markup Language,标准通用标记语言)。Xml是Internet环境中跨平台的,依赖于内容的技术,...
阅读全文
摘要:在PHP中读写文件,可以用到一下内置函数: 1.fopen(创建文件和打开文件) 语法: 复制代码代码如下:fopen(filename,mode)filename,规定要打开的文件。mode,打开文件的模式,可能的值见下表。 mode 说明 "r" 只读方式打开,将文件指针指向文件开头。 "r+"...
阅读全文
摘要:在VIM中进行文本替换: 1. 替换当前行中的内容: :s/from/to/ (s即substitude) :s/from/to/ : 将当前行中的第一个from,替换成to。如果当前行含有多个 fro...
阅读全文
摘要:Vector内部数据结构:连续存储,例如数组。随机访问每个元素,所需要的时间为常量。在末尾增加或删除元素所需时间与元素数目无关,在中间或开头增加或删除元素所需时间随元素数目呈线性变化。可动态增加或减少元素,内存管理自动完成,但程序员可以使用reserve()成员函数来管理内存。迭代器失效插入:vec...
阅读全文
摘要:*杀死进程最安全的方法是单纯使用kill命令,不加修饰符,不带标志。首先使用ps -ef命令确定要杀死进程的PID,然后输入以下命令:# kill -pid注释:标准的kill命令通常都能达到目的。终止有问题的进程,并把进程的资源释放给系统。然而,如果进程启动了子进程,只杀死父进程,子进程仍在运行,...
阅读全文
摘要:strerror(errno):获取errno对应的错误查看错误代码errno是调试程序的一个重要方法。当linux C api函数发生异常时,一般会将errno变量(需include errno.h)赋一个整数值,不同的值表示不同的含义,可以通过查看该值推测出错的原因。在实际编程中用这一招解决了不...
阅读全文
摘要:socket错误码: EINTR: 4 阻塞的操作被取消阻塞的调用打断。如设置了发送接收超时,就会遇到这种错误。 只能针对阻塞模式的socket。读,写阻塞的socket时,-1返回,错误号为INTR。另外,如果出现EINTR即errno为4,错误描述Interrupted system cal...
阅读全文
摘要:getdomainname与gethostname函数1 gethostname() : 返回本地主机的标准主机名。原型如下:#include int gethostname(char *name, size_t len); 参数说明:这个函数需要两个参数:接收缓冲区name,其长度必须为len字...
阅读全文
摘要:#include int inet_pton(int family,const char * strptr,void * addrptr); 返回:1--成功, 0--输入不是有效的表达格式 , -1--出错const char * inet_ntop(int family,const vo...
阅读全文
摘要:C语言函数 概述: 返回对应于给定地址的主机信息。 #include struct hostent FAR *PASCAL FAR gethostbyaddr(const char FAR * addr, int len, int type); addr:指向网络字节顺序地址的指针。 ...
阅读全文
摘要:gethostbyname()返回对应于给定主机名的包含主机名字和地址信息的hostent结构指针。结构的声明与gethostaddr()中一致。 返回对应于给定主机名的主机信息。 #include struct hostent FAR *PASCAL FAR gethostbyname(cons...
阅读全文
摘要:ntohs =net to host short int 16位htons=host to net short int 16位ntohs =net to host long int 32位htonl=host to net long int 32位简述: 将一个无符号短整形数从网络字...
阅读全文
摘要:1. inet_aton()是一个改进的方法来将一个字符串IP地址转换为一个32位的网络序列IP地址。2. inet_ntoa() 本函数将一个用in参数所表示的Internet地址结构转换成以“.” 间隔的诸如“a.b.c.d”的字符串形式。 若无错误发生,inet_ntoa()返回一个字符指针...
阅读全文
摘要:(1) 头文件#include (2) 函数定义int scandir(const char *dir,struct dirent **namelist,int (*filter)(const void *b), int ( * compare )( c...
阅读全文
摘要:#include #include #include int buffer[10];int i,j;pthread_rwlock_t rwlock;void *writefun(void *arg){ int pid = pthread_self(); printf("写者%d 进入等待...
阅读全文
摘要:make是根据依赖文件的时间戳来决定要不要重新编译的。在:object: deplist # actions中,可以把头文件加进deplist,这样修改头文件后,make就会重新编译了。单纯地修改文件,而不设置Makefile,则make程序不知道你这个文件对应哪个编译目标,自然无法判...
阅读全文
摘要:1.CString::IsEmptyBOOL IsEmpty( ) const;返回值:如果CString 对象的长度为0,则返回非零值;否则返回0。说明:此成员函数用来测试一个CString 对象是否是空的。示例:下面的例子说明了如何使用CString::IsEmpty。// CString::I...
阅读全文
摘要:守护进程日志的实现syslogd守护进程用于解决守护进程的日志记录问题,而日志信息保存的位置和记录的信息级别是在syslogd守护进程的配置文件中设定的。守护进程日志主要涉及3个函数,分别是openlog、syslog和closelog函数。表8.4所示为这3个函数的具体信息。表8.4 openlo...
阅读全文
摘要:VC6.0的若干实用小技巧1.检测程序中的括号是否匹配把光标移动到需要检测的括号(如大括号{}、方括号[]、圆括号()和尖括号)前面,键入快捷键“Ctrl+]”。如果括号匹配正确,光标就跳到匹配的括号处,否则光标不移动,并且机箱喇叭还会发出一声警告声。2.查看一个宏(或变量、函数)的宏定义把光标移动...
阅读全文
摘要:如果您的长微博字数超过了140个字的限制,在这里输入微博内容,点击右方的“生成图片”,鼠标右击右边“文字”,“图片另存为...”,保存图片后,就可以直接发到微博里了,赶紧试试吧! ...
阅读全文
摘要:在构造自己的类时,有可能会碰到两个类之间的相互引用问题,例如:定义了类A类B,A中使用了B定义的类型,B中也使用了A定义的类型class A{int i;B b;}class B{int i;A* a;}请注意上面的定义内容,一般情况下是不能出现类A,类B相互引用都定义对象,即如下的样子:class...
阅读全文
摘要:转载请注明出处:http://cantellow.iteye.com/blog/838473
阅读全文
摘要:一、枚举类型的使用方法 一般的定义方式如下:enum enum_type_name{ ENUM_CONST_1, ENUM_CONST_2, ... ENUM_CONST_n} enum_variable_name;注意:enum_type_name 是自定义的一种数据数据类型名,而...
阅读全文
摘要:本文主要介绍va_start和va_end的使用及原理。在以前的一篇帖子Format MessageBox 详解中曾使用到va_start和va_end这两个宏,但对它们也只是泛泛的了解。介绍这两个宏之前先看一下C中传递函数的参数时的用法和原理: 1.在C中,当我们无法列出传递函数的所有实参的类型和...
阅读全文
摘要:首先要对fscanf和fgets这两个文件函数的概念有深入的了解,对于字符串输入而言这两个函数有一个典型的区别是: fscanf读到空格或者回车时会把空格或回车转化为/0(字符串结束符)而fgets函数则把空格(回车在下文解释)作为字符接收。 有这样一个例子:ch...
阅读全文
摘要:全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序, 当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。 ...
阅读全文
摘要:很多人在windows中使用文本编辑器编辑好文本后,传送到linux系统后,使用vi工具打开后发现每一行文本最后都有一个^M号,原因是: 在DOS使用的换行符为 \r\n,我们称为CR(\r)与LF(\n)两个符号。而在Linux中,则仅有LF (\n) 这个换行符,因此在linux中每一行中多了一...
阅读全文
摘要:例如:假设有如下的代码:class Employee{public: int DoSomething(){}}std::vector Emps;假设我们要调用Emps里面所包含的所有Employee的DoSomething();一般初学者会这样调用:for (std::vector::iteror ...
阅读全文
摘要:关键字:UTC(世界标准时间),Calendar Time(日历时间),epoch(时间点),clock tick(时钟计时单元)1.概念在C/C++中,对字符串的操作有很多值得注意的问题,同样,C/C++对时间的操作也有许多值得大家注意的地方。下面主要介绍在C/C++中时间和日期的使用方法.通过学...
阅读全文
摘要:整理了几道Shell编程实例,针对新手!1. 在/home目录中创建一百个目录,目录名称依次为a1……a100. 实例1 for ((i=1;i<=100;i++))do mkdir "/home/a"$idone实例2,还可以写的高级一点for ((i=1;i<=100;i++))do ...
阅读全文
摘要:cut命令从文件的每一行剪切字节、字符和字段并将它们写至标准输出。它是以文件的每一行作为处理对象的。 命令格式:cut [选项] [范围] 文件。选项用来指定单位(字节、字符还是字段),范围指定选项的位置。 常用的选项有:-b:指定以字节为单位显示选中内容-c:指定以字符为单位显示选中内容-f:指...
阅读全文
摘要:shell脚本不换行刷新数据#!/bin/bash while [ 1 ] do a=$(ifconfig eth0 | grep 'RX pac' | awk '{print $2}' | awk -F: '{print $NF}') echo -ne "$a\r" ...
阅读全文
摘要:最近一段时间,在处理Shell 脚本时候,遇到时间的处理问题。 时间的加减,以及时间差的计算。获取当前时间戳date +%s 1。 时间加减 这里处理方法,是将基础的时间转变为时间戳,然后,需要增加或者改变时间,变成 秒。 如:1990-01-01 01:01:01 加上 1小时 20分处理方法:...
阅读全文
摘要:今天联系写一个日历的程序,需要算出月份中的第一天是星期几,用到了mktime()这个函数,感觉这个函数挺有用的,分享给大家。原型:time_t mktime(struct tm *)其中的tm结构体定义如下:struct tm {int tm_sec; /* 秒 – 取值区间为[0,59] */in...
阅读全文
摘要:这是一个关于Posix线程编程的专栏。作者在阐明概念的基础上,将向您详细讲述Posix线程库API。本文是第2篇将向您讲述线程的创建与取消。一.概念及作用在单线程程序中,我们经常要用到"全局变量"以实现多个函数间共享数据。在多线程环境下,由于数据空间是共享的,因此全局变量也为所有线程所共有。但有时应...
阅读全文
摘要:这是一个关于Posix线程编程的专栏。作者在阐明概念的基础上,将向您详细讲述Posix线程库API。本文是第三篇将向您讲述线程同步。一.互斥锁尽管在Posix Thread中同样可以使用IPC的信号量机制来实现互斥锁mutex功能,但显然semphore的功能过于强大了,在Posix Thread中...
阅读全文
摘要:这是一个关于Posix线程编程的专栏。作者在阐明概念的基础上,将向您详细讲述Posix线程库API。本文是第一篇将向您讲述线程的创建与取消。一、线程创建 1.1 线程与进程相对进程而言,线程是一个更加接近于执行体的概念,它可以与同进程中的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。在串...
阅读全文
摘要:gcc命令之 objdump ---------------objdump是用查看目标文件或者可执行的目标文件的构成的GCC工具----------以下3条命令足够那些喜欢探索目标文件与源代码之间的丝丝的关系的朋友。objdump -x obj 以某种分类信息的形式把目标文件的数据组织(被分为几大块...
阅读全文
摘要:1.程序使用内存区 一个程序占用的内存区一般分为5种:(1)全局、静态数据区:存储全局变量及静态变量(包括全局静态变量和局部静态变量)(2)常量数据区:存储程序中的常量字符串等。(3)代码区:存储程序的代码。(4)栈:存储自动变量或者局部变量,以及传递的函数参数等。(5)堆:存储动态产生的数据。在处...
阅读全文
摘要:stl_config.h defalloc.h stl_alloc.h memory.cpp stl_construct.h stl_uninitialized.h stl_iterator.h type_traits.h stl_vector.h stl_pair.h stl_list.h stl...
阅读全文
摘要:stl_config.h 1. // Filename: stl_config.h 2. 3. // Comment By: 凝霜 4. // E-mail: mdl2009@vip.qq.com 5. // Blog: http...
阅读全文
摘要:优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右()圆括号(表达式)/函数名(形参表).成员选择(对象)对象.成员名->成员选择(指针)对象指针->成员名2-负号运算符-表达式右到左单目运算符(类型)强制类型转换(数据类型)表达式++自增运算符++变量名/变量名++...
阅读全文
摘要:defalloc.h 1. // Filename: defalloc.h 2. 3. // Comment By: 凝霜 4. // E-mail: mdl2009@vip.qq.com 5. // Blog: http://b...
阅读全文
摘要:memory.cpp# // Filename: memory # # // Comment By: 凝霜 # // E-mail: mdl2009@vip.qq.com # // Blog: http://blog.csdn.net/mdl13412 #...
阅读全文
摘要:# // Comment By: 凝霜 # // E-mail: mdl2009@vip.qq.com # // Blog: http://blog.csdn.net/mdl13412 # # // 特别说明: SGI STL的allocator在我的编译环境下不...
阅读全文
摘要:stl_iterator.h// Filename: stl_iterator.h// Comment By: 凝霜// E-mail: mdl2009@vip.qq.com// Blog: http://blog.csdn.net/mdl13412/* * * Co...
阅读全文
摘要:stl_uninitialized.h// Filename: stl_uninitialized.h// Comment By: 凝霜// E-mail: mdl2009@vip.qq.com// Blog: http://blog.csdn.net/mdl1341...
阅读全文
摘要:stl_construct.h// Filename: stl_construct.h// Comment By: 凝霜// E-mail: mdl2009@vip.qq.com// Blog: http://blog.csdn.net/mdl13412/* * * ...
阅读全文
摘要:/*By Reason*/#include#include #include#include#include#include //为了读取方向键#includeusing namespace std;//srand( (unsigned)time( NULL ) ); //随机数种子 不能用在这里...
阅读全文
摘要:stl_vector.h// Filename: stl_vector.h// Comment By: 凝霜// E-mail: mdl2009@vip.qq.com// Blog: http://blog.csdn.net/mdl13412/* * * Copyri...
阅读全文
摘要:type_traits.h// Filename: type_traits.h// Comment By: 凝霜// E-mail: mdl2009@vip.qq.com// Blog: http://blog.csdn.net/mdl13412/* * * Copy...
阅读全文
摘要:stl_list.h // Filename: stl_list.h// Comment By: 凝霜// E-mail: mdl2009@vip.qq.com// Blog: http://blog.csdn.net/mdl13412/* * * Copyright...
阅读全文
摘要:stl_pair.h// Filename: stl_pair.h// Comment By: 凝霜// E-mail: mdl2009@vip.qq.com// Blog: http://blog.csdn.net/mdl13412/* * * Copyright ...
阅读全文
摘要:stl_stack.h// Filename: stl_stack.h// Comment By: 凝霜// E-mail: mdl2009@vip.qq.com// Blog: http://blog.csdn.net/mdl13412///////////////...
阅读全文
摘要:stl_deque.h // Filename: stl_deque.h// Comment By: 凝霜// E-mail: mdl2009@vip.qq.com// Blog: http://blog.csdn.net/mdl13412// 如果vector能满足...
阅读全文
摘要:stl_slist.h// Filename: stl_slist.h// Comment By: 凝霜// E-mail: mdl2009@vip.qq.com// Blog: http://blog.csdn.net/mdl13412/* * Copyright ...
阅读全文
摘要:stl_queue.h // Filename: stl_queue.h// Comment By: 凝霜// E-mail: mdl2009@vip.qq.com// Blog: http://blog.csdn.net/mdl13412//////////////...
阅读全文
摘要:stl_tree.hG++ 2.91.57,cygnus\cygwin-b20\include\g++\stl_tree.h 完整列表/* * * Copyright (c) 1996,1997 * Silicon Graphics Computer Systems, Inc. * * Permis...
阅读全文
摘要:stl_heap.h// Filename: stl_heap.h// Comment By: 凝霜// E-mail: mdl2009@vip.qq.com// Blog: http://blog.csdn.net/mdl13412/* * * Copyright ...
阅读全文
摘要:stl_multiset.h // Filename: stl_multiset.h// Comment By: 凝霜// E-mail: mdl2009@vip.qq.com// Blog: http://blog.csdn.net/mdl13412/* * * C...
阅读全文
摘要:stl_set.h // Filename: stl_set.h// Comment By: 凝霜// E-mail: mdl2009@vip.qq.com// Blog: http://blog.csdn.net/mdl13412/* * * Copyright (...
阅读全文
摘要:stl_map.h// Filename: stl_map.h// Comment By: 凝霜// E-mail: mdl2009@vip.qq.com// Blog: http://blog.csdn.net/mdl13412/* * * Copyright (c...
阅读全文
摘要:stl_hashtable.h// Filename: stl_hashtable.h// Comment By: 凝霜// E-mail: mdl2009@vip.qq.com// Blog: http://blog.csdn.net/mdl13412///////...
阅读全文
摘要:stl_multimap.h// Filename: stl_multimap.h// Comment By: 凝霜// E-mail: mdl2009@vip.qq.com// Blog: http://blog.csdn.net/mdl13412/* * * Co...
阅读全文
摘要:stl_hash_set.h// Filename: stl_hash_set.h// Comment By: 凝霜// E-mail: mdl2009@vip.qq.com// Blog: http://blog.csdn.net/mdl13412// hash_s...
阅读全文
摘要:stl_hash_map.h // Filename: stl_hash_map.h// Comment By: 凝霜// E-mail: mdl2009@vip.qq.com// Blog: http://blog.csdn.net/mdl13412// hash_...
阅读全文
摘要:stl_algobase.h// Filename: stl_algobase.h// Comment By: 凝霜// E-mail: mdl2009@vip.qq.com// Blog: http://blog.csdn.net/mdl13412// 这个文件中定...
阅读全文
摘要:stl_relops.h// Filename: stl_relops.h// Comment By: 凝霜// E-mail: mdl2009@vip.qq.com// Blog: http://blog.csdn.net/mdl13412// 这个文件非常简单, ...
阅读全文