
Linux
Nireus_LOVE
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
UE中使用正则表达式
UE 技巧1)删除空行: 替换 %[ ^t]++^p 为 空串 2)删除行尾空格: 替换 [ ^t]+$ 为 空串 3)删除行首空格: 替换 %[ ^t]+ 为 空串 4)每行设置为固定的4个空格开头: 替换 %[ ^t]++^([~ ^t^p]^) 为 ” ^1” 5)每段设置为固定的4个空格开头: 替换 %[ ^t]+ 为 ” ” (如果一行是以空格开始的,则视之为一段的开始行)原创 2016-05-24 19:54:53 · 2616 阅读 · 0 评论 -
Linux---命令
1. 遍历目录下的文件 提取文件字段 保存到新文件 for f in *; do if test -f $f; then awk -F['\t'] '{print $11,$12,$13}'< $f >> ../output/$f; fi; done原创 2016-05-24 10:22:31 · 140 阅读 · 0 评论 -
Linux --- 清理内存和Cache的方法
Linux下清理内存和Cache方法 /proc/sys/vm/drop_caches频繁的文件访问会导致系统的Cache使用量大增$ free -mtotal used free shared buffers cachedMem: 3955 3926 28 0 55 3459-/+ buffers/cache: 411 3544Swap: 5726 0 5726转载 2016-06-23 11:51:24 · 669 阅读 · 0 评论 -
Linux --- 计算程序执行时间
Linux下计算程序执行时间 #include <ctime>clock_t begin , end;begin = clock();//这里是要统计时间的代码end = clock();unsigned uRunTime = (end - begin) * 1.0 / CLOCKS_PER_SEC * 1000;//这样就得出程序运行的毫秒数。原创 2016-06-08 15:49:40 · 2290 阅读 · 0 评论 -
Linux --- 原子操作
原子锁是linux内核同步的一种机制,下面将其应用到线程同步中来。#include <alsa/iatomic.h>#include <pthread.h>#include <stdio.h>// 定义一个原子变量static atomic_t g_atomic = ATOMIC_INIT(1);// 定义共享资源static volatile int g_i = 0;/* 定义线程chǔ原创 2016-06-08 15:45:37 · 528 阅读 · 0 评论 -
linux下去掉文件中^M的方法
在windows下编辑文件,然后放到linux环境。在windows环境下,换行是表示为\r\n(0x0d0x0a),而在linux下,换行为\n; 在sh脚本对这类文件进行处理时,很容易出现意想不到的情况,比如字符串的比较。 在sh脚本中,个人使用sed -i ‘s/\r//g’ filename的方式,但存在疑问sed -i ‘s/\r\n/\n/g’ filename为什么不生效?下述是参转载 2016-06-03 15:04:11 · 930 阅读 · 0 评论 -
epoll模型
1. 概述epoll是Linux下多路复用IO接口select/poll的增强版本,它能显著减少程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率,因为它不会复用文件描述符集合来传递结果而迫使开发者每次等待事件之前都必须重新准备要被侦听的文件描述符集合,另一点原因就是获取事件的时候,它无须遍历整个被侦听的描述符集,只要遍历那些被内核IO事件异步唤醒而加入Ready队列的描述符集合就行了。ep原创 2016-05-27 09:48:56 · 203 阅读 · 0 评论 -
TCP/IP协议 --- 连接建立和终止
TCP状态迁移图TCP连接建立三次握手TCP连接的终止(四次握手释放)为什么建立连接协议是三次握手,而关闭连接却是四次握手为什么TIME_WAIT状态还需要等2MSL后才能返回到CLOSED状态1. TCP状态迁移图 2. TCP连接建立三次握手TCP是一个面向连接的协议,所以在连接双方发送数据之前,都需要首先建立一条连接。 Client连接Server: 当Client端调用s原创 2016-05-27 09:21:01 · 2654 阅读 · 0 评论 -
TCP/IP协议 --- 定时器
连接建立(connection establishment)定时器重传(retransmission)定时器延迟ACK(delayed ACK)定时器持续 (persist)定时器保活(keep alive)定时器FIN_WAIT_2定时器TIME_WAIT定时器1. 连接建立(connection establishment)定时器在发送SYN报文段建立一条新连接时启动。如果在75秒原创 2016-05-27 09:34:28 · 469 阅读 · 0 评论 -
代码静态分析工具 --- CppCheck
1. 概述静态程序分析是指使用自动化工具软件对程序源代码进行检查,以分析程序行为的技术,应用于程序的正确性检查、安全缺陷检测、程序优化等。它的特点就是不执行程序,有助于在项目早期发现以下问题:变量声明了但未使用、变量类型不匹配、变量在使用前未定义、不可达代码、死循环、数组越界、内存泄漏等。 静态分析工具相比编译器,对代码进行了更加严格的检查,像数组越界访问、内存泄漏、使用不当的类型转换等问题,都可原创 2016-05-24 20:08:47 · 4139 阅读 · 1 评论 -
SIGBUS(Bus error singal 7)
背景用mmap将文件映射到内存,读取文件时,提示“SIGBUS Bus ERROR”错误分析SIGBUS与SIGSEGV信号的一般区别如下: 1) SIGBUS(Bus error)意味着指针所对应的地址是有效地址,但总线不能正常使用该指针。通常是未对齐的数据访问所致。 2) SIGSEGV(Segment fault)意味着指针所对应的地址是无效地址,没有物理内存对应该地址。 通过原创 2016-10-21 09:35:00 · 10241 阅读 · 0 评论