- 博客(27)
- 问答 (2)
- 收藏
- 关注
转载 ssh免密码登陆
准备两台以上的Linux服务器,我这里用的是s204,s205两台机器,多台同样的先使用ssh登录试一下,如果没有安装则需要先安装一下ssh s205会提示你输入密码执行:ssh-keygen -t rsa这时.ssh目录下会生成私钥和公钥的键值对id_rsa,id_rsa.pub
2016-07-14 15:43:42
288
转载 do while(0)的作用
使用do{ } while(0)的好处1.替代{},实现局部作用域.在一些C的实现里也可以用.2.避免使用GOTO,用break做跳出.当你执行一段代码到一半,想跳过剩下的一半的时候,如果你正处于do while循环中,则能用break达到这个目的。如下伪代码:[cpp] view plain copydo {
2016-07-08 11:49:17
575
转载 ftell函数
函数 ftell 用于得到文件位置指针当前位置相对于文件首的偏移字节数。在随机方式存取文件时,由于文件位置频繁的前后移动,程序不容易确定文件的当前位置。该函数对大于231-1文件,即:2.1G以上的文件操作时可能出错。用于得到文件位置指针当前位置相对于文件首的偏移字节数。函数原型long ftell(FILE *stream);
2016-07-07 11:30:37
1439
转载 fgets函数
从文件结构体指针stream中读取数据,每次读取一行。读取的数据保存在buf指向的字符数组中,每次最多读取bufsize-1个字符(第bufsize个字符赋'\0'),如果文件中的该行,不足bufsize个字符,则读完该行就结束。如若该行(包括最后一个换行符)的字符数超过bufsize-1,则fgets只返回一个不完整的行,但是,缓冲区总是以NULL字符结尾,对fgets的下一次调用会继续读该行。
2016-07-06 17:50:33
559
转载 gdb多进程调试
1. 默认设置下,在调试多进程程序时GDB只会调试主进程。但是GDB(>V7.0)支持多进程的分别以及同时调试,换句话说,GDB可以同时调试多个程序。只需要设置follow-fork-mode(默认值:parent)和detach-on-fork(默认值:on)即可。 follow-fork-mode detach-on-fork 说明parent
2016-07-06 17:24:32
354
转载 unlink函数
头文件:#include 定义函数:int unlink(const char * pathname);函数说明:unlink()会删除参数pathname 指定的文件. 如果该文件名为最后连接点, 但有其他进程打开了此文件, 则在所有关于此文件的文件描述词皆关闭后才会删除. 如果参数pathname 为一符号连接, 则此连接会被删除。返回值:成功则返回0, 失败返回-1,
2016-07-06 15:30:58
259
转载 access函数
头文件:unistd.h功 能: 确定文件或文件夹的访问权限。即,检查某个文件的存取方式,比如说是只读方式、只写方式等。如果指定的存取方式有效,则函数返回0,否则函数返回-1。用 法: int access(const char *filenpath, int mode); 或者int _access( const char *path, int mode );参数说明:
2016-07-06 15:08:08
250
原创 C语言不定长数组及初始化
C语言不支持不定长数组,要么malloc,要么在动态的指定它的长度动态数组不能初始化,可使用memset1.int* p = (int*)malloc(num);2.int num = 5; arr[num];若使用arr[],则需要在后面对齐进行初始化,来指定长度,否则编译可以通过,但是默认只有一个单元,超过一个单元的长度,在后面程序的运行中有可能会被冲掉int ar
2016-06-30 10:00:10
41365
1
转载 extern关键字的作用
1 基本解释:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定。 也就是说extern有两个作用,第一个,当它与"C"一起连用时,如: extern "C" void fun(int a, int b);则告诉编译器在编译fun这个函数名时按着C的规则去翻译相应的函数
2016-06-29 16:50:42
2232
转载 服务器进程fork两次原理
首先,要了解什么叫僵尸进程,什么叫孤儿进程,以及服务器进程运行所需要的一些条件。两次fork()就是为了解决这些相关的问题而出现的一种编程方法。 孤儿进程 孤儿进程是指父进程在子进程结束之前死亡(return 或exit)。如下图1所示:图1 孤儿进程但是孤儿进程并不会像上面画的那样持续很长时间,当系统发现孤儿进程时,init进程就收养孤儿进
2016-06-29 16:19:03
492
转载 sar监听网络流量
利用sar命令,加上-n DEV参数,即可统计出所有网卡上的流量,在显示的第五和第六列,显示的是接收到的数据流量和发送的数据流量,单位是kB/s,即每秒多少千字节。后面的2 10是指每2秒报告一次,共报告10次。sar -n { DEV | EDEV | NFS | NFSD | SOCK | ALL }sar 提供六种不同的语法选项来显示网络信息。-n选项使用6个不同的开关:
2016-06-29 15:24:49
1123
转载 函数返回局部变量
一般的来说,函数是可以返回局部变量的。 局部变量的作用域只在函数内部,在函数返回后,局部变量的内存已经释放了。因此,如果函数返回的是局部变量的值,不涉及地址,程序不会出错。但是如果返回的是局部变量的地址(指针)的话,程序运行后会出错。因为函数只是把指针复制后返回了,但是指针指向的内容已经被释放了,这样指针指向的内容就是不可预料的内容,调用就会出错。准确的来说,函数不能通过返回指向栈内存的指针(注意
2016-06-28 18:08:58
581
原创 自定义填充空格函数
在一些输出的时候,由于某些输出的结果不定长,导致最后的输出的结果每一行不能对齐,用空格填充又不确定填充多少空格为了解决这个小问题,自编写如下小函数原理:每段输出的结果无论多长应该有理论的最大长度,最大长度减去实际输出长度,就是应该填充的空格数void fillspace(char* src,char* dest,int max) {int i = 0;int
2016-06-28 17:40:14
1207
转载 awk的内置变量NF,NR,FS,FILENAME
1.NF:支持记录域个数,在记录被读之后再设置例1[root@redhat wilsontest]# pwd/tmp/wilsontest[root@redhat wilsontest]# echo $PWD | awk -F / '{print $NF}'wilsontest这里取得的是当前目录的最后一个文件的名字。再如:[root@red
2016-06-27 13:50:09
842
转载 column命令
column的其他用法如下:选项含义-c 字符数指定显示的列宽-s“ 分隔符 “使用-t选项时,指定分隔符(允许指定多个分隔符)-t判断输入行的列数来创建一个表。分隔符是使用在-s中指定的字符。如果没有指定分隔符,默认是空格-x更改排列顺序(左→右)。默认的顺序为(上→下)
2016-06-24 15:26:57
7795
转载 netstat命令
简介Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。输出信息含义执行netstat后,其输出结果为Active Internet connections (w/o servers)Proto Re
2016-06-24 11:00:06
236
转载 linux安装mariaDB
MariaDB 是 一个采用 Maria 存储引擎的 MySQL 分支版本,是由原来 MySQL 的作者 Michael Widenius 创办的公司所开发 的免费开源的数据库服务器 。 本文介绍了在linxu下一个简单的安装 方法(在OpenSuse下测试成功): 下载页面: https://downloads.mariadb.org/mariadb/# tar zx
2016-06-24 10:05:16
375
原创 strtok函数嵌套
strtok函数分解字符串为一组字符串。s为要分解的字符,delim为分隔符字符(如果传入字符串,则传入的字符串中每个字符均为分割符)。首次调用时,s指向要分解的字符串,之后再次调用要把s设成NULL。原型:extern char *strtok(char *s, char *delim);用法:#include 功能:分解字符串为一组标记串。s为要分解的字符串
2016-06-24 09:48:10
2023
转载 将多行输出转化为一行输出
1. 采用awk awk BEGIN{RS=EOF}'{gsub(/\n/," ");print}' file 说明:awk默认将记录分隔符(record separator即RS)设置为\n,此行代码将RS设置为EOF(文件结束),也就是把文件视为一个记录,然后通过gsub函数将\n替换成空格,最后输出。 2. 采用sed sed '
2016-06-23 16:08:09
2777
转载 strtok函数
头文件:#include 定义函数:char * strtok(char *s, const char *delim);函数说明:strtok()用来将字符串分割成一个个片段。参数s 指向欲分割的字符串,参数delim 则为分割字符串,当strtok()在参数s 的字符串中发现到参数delim 的分割字符时则会将该字符改为\0 字符。在第一次调用时,strtok()必需给予参数
2016-06-23 14:49:16
206
转载 sort uniq cut wc命令
sortsort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出。如果 File 参数指定多个文件,那么 sort 命令将这些文件连接起来,并当作一个文件进行排序。sort语法[root@www ~]# sort [-fbMnrtuk] [file or stdin]选项与参数:-f :忽略大小写的差异,例如 A 与 a 视为编码相同;-b
2016-06-23 11:09:13
200
转载 awk命令
简介awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本。awk其名称得自于它的创始人 Alfr
2016-06-23 10:12:10
241
转载 fileno函数
函数名称:fileno(在VC++6.0下为_fileno[1] )函数原型:int _fileno( FILE *stream );函数功能:fileno()用来取得参数stream指定的文件流所使用的文件描述符返回值:某个数据流的文件描述符头文件:stdio.h相关函数:open,fopen,fclose#include
2016-06-21 10:28:28
1357
转载 vsprintf函数
/* 函数名: vsprintf返回值: 正常情况下返回生成字串的长度(除去\0),错误情况返回负值用 法: int vsprintf(char *string, char *format, va_list param);// 将param 按格式format写入字符串string中注: 该函数会出现内存溢出情况,建议使用vsnprintf#include #includeint vspff(
2016-06-20 14:20:30
1607
转载 getopt函数
命令行参数解析函数 —— getopt()getopt()函数声明如下:#include int getopt(int argc, char * const argv[], const char *optstring);extern char *optarg;extern int optind, opterr, optopt;该函
2016-06-20 14:19:29
339
转载 GDB调试命令
1.基本命令1)进入GDB #gdb test test是要调试的程序,由gcc test.c -g -o test生成。进入后提示符变为(gdb) 。2)查看源码 (gdb) l 源码会进行行号提示。 如果需要查看在其他文件中定义的函数,在l后加上函数名即可定位到这个函数的定义及查看附近的其他源码。或者:使用断点或单步运行,到某个函数处使用s进入
2016-06-20 14:02:51
231
空空如也
由于网络延时导致TCP连接乱序的问题
2019-01-16
如何在DPDK中使用fork子进程的方式将DPDK配置到多个核上去
2016-02-17
TA创建的收藏夹 TA关注的收藏夹
TA关注的人