自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 收藏
  • 关注

转载 把sublime3打造成c++开发环境

安装sublime 3sudo add-apt-repository ppa:webupd8team/sublime-text-3sudo apt-get updatesudo apt-get install sublime-text-installerpackage control安装ctrl + `(1旁边的波浪线)import urllib.request,os; ...

2016-05-31 17:08:00 179

转载 c指针参数常见错误

参数的地址是可以修改的,修改后的地址是不可能传回给调用处的指针变量。也就是说,可以修改参数地址所指的单元的值,这是可以传回到调用处的变量里面的。#include <stdio.h>#include <stdlib.h>#include <string.h>int subFunc(int arr[3]);//交换两整数void chan...

2016-05-03 10:44:00 172

转载 Unix高级编程之文件权限

1.访问权限表st_mode意义S_IRUSR用户-读S_IWUSR用户-写S_IXUSR用户-执行S_IRGRP组-读S_IWGRP组-写S_IXGRP组-执行S_IROTH其他-读S_IWOTH其他-写S_IXOTH其他-执行注意点我们用名字打开任一类型的文件时,对该名字中包含的每一个目...

2016-04-17 09:35:00 179

转载 gdb手册

摘自:https://github.com/hellogcc/100-gdb-tips/blob/master/src/quit-gdb-silently.md.我只是摘抄我平时没注意到的,或者我认为重要的gdb退出时不显示提示信息set confirm off列出所有的函数info functions 或者 info functions th[列出所有以th开始的函数]...

2016-04-06 10:12:00 120

转载 libev 使用

观察器IOev_io_init (ev_io *, callback, int fd, int events) ev_io_set (ev_io *, int fd, int events)I/O watchers check whether a file descriptor is readable or writable in each iteration of the e...

2016-03-29 13:33:00 153

转载 Unix高级环境编程之fcntl函数

#include <fcntl.h>int fcntl(int fd, int cmd, ...)fcntl功能复制一个现有的描述符 (cmd = F_DUPFD)##### 返回值:新文件描述符, __新描述符__和fd共享同一文件表项dup(fd) <===> fcntl(fd, F_DUPFD, 0)dup2(fd1, fd2) <=...

2016-03-28 22:38:00 143

转载 设计基于锁的并发数据结构

为并发设计数据结构的原则为并发设计数据结构的时候,需要考虑两方面:保证存取的安全和允许真正的并发存取设计基于锁的并发数据结构的关键是要确保存取数据时要锁住正确的互斥元,并且要确保将锁的时间最小化转载于:https://www.cnblogs.com/457220157-FTD/p/5321549.html...

2016-03-25 23:24:00 105

转载 CPU占用分析

用TOP命令很容易定位到时谁占用CPU最高多线程的进程,我们要知道实际上占用cpu的最小单位是线程,所以肯定是众线程中的某一个或几个占用CPU过高导致的。top -H -p pid命令查看进程内各个线程占用的CPU百分比如上图所示我们可以看出id为8863的线程cpu占用率最高。好,我们现在只要能找到他偷走的cpu就好了,虽然这小子嘴巴严,但是我们有一套完善的审问流程,不怕他不...

2016-03-24 14:42:00 84

转载 atomic用法

memory order源码变成可执行程序,一般由预编译,编译,汇编,链接。源码重排序一般分为编译期重排序和运行期重排序。编译期重排序:编译器在不改变单线程程序的语义的前提下,可以重新安排语句的执行顺序。在不改变程序的语义的前提下,尽可能减少寄存器的读取,存储次数,充分复用寄存器的存储值。CPU乱序执行名称语义 ...

2016-03-22 15:26:00 165

转载 RESTful架构搜集

今天才知道RESTful这个词,感觉好落后呀。自从5月份后很少学习新知识,这是个不好的信号。RESTful是Representational State Transfer的缩写。怎么理解Representational State Transfer呢?资源(Resources):  所谓资源,就是一个网络实体,或者说就是网络上的一个具体信息。它可以是一段音乐,一个图片...

2016-01-29 15:28:00 84

转载 神奇的VIM

1. di'、di"、di`、di( 、di{ 、dt'abc' ==> '' di'"abc"==> "" di"`abc`==>`` di`(abc) ==>() di({abc}==>{} di{2. 删除函数体int foo(){ int ...

2015-11-09 17:08:00 74

转载 [转] boost:lexical_cast用法

转载地址:http://www.habadog.com/2011/05/07/boost-lexical_cast-intro/一、lexical_cast的作用lexical_cast使用统一的接口实现字符串与目标类型之间的转换。二、lexical_cast与c/c++提供类似接口的比较标准c家族中包含此类函数,例如atoi与itoa等,它们的缺点是:(1)各个转换都是单向的,...

2015-09-24 17:39:00 93

转载 Leetcode

最近一直在练习数据结构,发现www.leetcode.com非常不错。我的代码都在https://github.com/georgehao/leetcode转载于:https://www.cnblogs.com/457220157-FTD/p/4831647.html

2015-09-23 11:18:00 77

转载 C++ Sort类成员的传递

C++模板中提供了sort方法,一般有两种方法:传递函数,传递一个对象。第一种方法:函数bool compare(const string &strLeft, const string &strRight){  return strLeft<strRight;}int main(){  vector<string>...

2015-07-02 11:14:00 158

转载 wireshark工具集

tshark查看pcap文件第一个包的时间,当文件名不包含时间信息时非常有帮助   tshark-c1-Tfields-eframe.time-rtest.pcapdumpcapeditcap基本语法editcap[options]...<infile><outfile>[<packet#>...

2015-05-22 15:04:00 113

转载 字符串匹配算法

1.前缀蛮力匹配算法(linux内核string.h)char* strstr(const char *s, const char *wanted) { const size_t len = strlen(wanted); if (len == 0) return (char *)s; while (*s != *wa...

2015-04-30 11:55:00 109

转载 视频开发(播放器开发,视频编辑)

FFmpeg官网1.[总结]FFMPEG视音频编解码零基础学习方法2. 最简单的基于libVLC的例子:最简单的基于libVLC的视频播放器3.ffmpeg裁剪合并视频4.ffmpeg分割视频的方法5.ffmpeg命令详解6.ffmpeg 合并视频文件---------------------------------...

2015-04-03 14:37:00 141

转载 TCP协议和UDP协议的区别

转载:http://www.cnblogs.com/obama/p/3292335.html 作者:曾见绝美的阳光第一部分:TCP/IP相关知识点对TCP/IP的整体认链路层知识点IP层知识点运输层知识点应用层知识点(这些知识点都可以参考:http://www.cnblogs.com/newwy/p/3234536.html)第二部分:常见...

2015-03-21 16:56:00 114

转载 TCP/UDP详解

转载:http://www.cnblogs.com/visily/archive/2013/03/15/2961190.html, 作者:望梅止渴相关:HTTP协议详解   深入理解HTTP协议   TCP协议可靠性数据传输实现原理分析   关于TCP的问题总结1、传输层存在的必要性由于网络层的分组传输是不可靠的,无法了解数据到达终...

2015-03-21 16:47:00 374

转载 c++对象模型以及内存布局的研究

先引出问题,看一段代码:#include <iostream>using namespace std;class A { };class B { public:  B() {}  ~B() {}};class C {public:  C() {}  ~C() {}  void foo() {}}class...

2015-03-08 21:09:00 78

转载 理解inode

转载:阮一峰http://www.ruanyifeng.com/blog/2011/12/inode.html一、inode是什么?理解inode,要从文件储存说起。文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性...

2015-03-08 17:20:00 80

转载 do{...}while(0)的意义和用法

转载地址:http://www.spongeliu.com/415.htmllinux内核和其他一些开源的代码中,经常会遇到这样的代码:do{ ...}while(0)这样的代码一看就不是一个循环,do..while表面上在这里一点意义都没有,那么为什么要这么用呢?实际上,do{...}while(0)的作...

2015-03-08 17:19:00 346

转载 c++强制类型转换(static_cast,const_cast,dynamic_cast,reinterpret_cast)

static_cast <typeid>(exdlvssion)static_cast 很像 C 语言中的旧式类型转换。它能进行基础类型之间的转换,也能将带有可被单参调用的构造函数或用户自定义类型转换操作符的类型转换,还能在存有继承关系的类之间进行转换(即可将基类转换为子类,也可将子类转换为基类),还能将 non-const对象转换为 const对象(注意:反之则不行,那...

2015-03-08 17:13:00 94

转载 2014年总结

2014年是收获的一年,也是让我比较无语的一年。从2013年6月毕业进入电旗,到现在差不多有2年的时间,这期间感谢的人特别多:老付,涛哥,杰哥 and so more,算了,不说了。下面就说说2014的我个人总结吧:从2014年8月开始我就有了离职的想法,我觉得是我的想法有很大的影响,但是也是有其他的外部条件影响,总之2014年其实我的进步明显不足。2014年我的主要工作...

2015-02-27 11:56:00 97

转载 Python ConfigParser

转载:http://wangwei007.blog.51cto.com/68019/1104911在程序中使用配置文件来灵活的配置一些参数是一件很常见的事情,配置文件的解析并不复杂,在Python里更是如此,在官方发布的库中就包含有做这件事情的库,那就是ConfigParser,这里简单的做一些介绍。PythonConfigParser模块解析的配置文件的格式比较象in...

2015-01-29 16:32:00 56

转载 多线程程序中操作的原子性

转载:http://www.parallellabs.com/2010/04/15/atomic-operation-in-multithreaded-application/0. 背景原子操作就是不可再分的操作。在多线程程序中原子操作是一个非常重要的概念,它常常用来实现一些同步机制,同时也是一些常见的多线程Bug的源头。本文主要讨论了三个问题:1. 多线程程序中对变量的读写操作...

2015-01-15 10:42:00 88

转载 原子操作和竞争

作者:曹知渊来源:infoQ英文原文:Atomic operations and contention  本文是RAD Game Tools程序员Fabian “ryg” Giesen在其博客上发表的《Atomic operations and contention》一文的翻译,经作者许可分享至InfoQ中文站。  上次(缓存一致性(Cache Cohere...

2015-01-14 11:59:00 157

转载 缓存一致性(Cache Coherency)入门

作者: Fabian “ryg” Giesen来源:infoq参考原文:http://fgiesen.wordpress.com/2014/07/07/cache-coherency/  本文是RAD Game Tools程序员Fabian “ryg” Giesen在其博客上发表的《Cache coherency primer》一文的翻译,经作者许可分享至Inf...

2015-01-13 20:05:00 118

转载 C++ streambuf用法

class LogStreamBuf : public std::streambuf {  public:  // REQUIREMENTS: "len" must be >= 2 to account for the '\n' and '\n'.  LogStreamBuf(char *buf, int len) {    setp(buf, buf + le...

2015-01-07 16:52:00 680

转载 STL使用sort注意的问题

结构体使用sort算法时,重载operator<(..)。如果我们按下面这样写123456789101112131415161718192021222324252627282930313233343536...

2014-12-25 18:06:00 139

转载 cpack

一. 简介CPack是CMake 2.4.2之后的一个内置工具,主要作用就是生成制定类型的安装包.它可以脱离cmake单独运行.二. 基本设置 (mandatory)设置包类型set(CPACK_GENERATOR "DEB") NOTE:参数可以是你所知道的任意压缩包类型,rpm,tar.gz等等,请参见官方wiki设置软件包版本set(CPACK...

2014-12-11 14:16:00 411

转载 c/c++基本问题

1. 使用g++将文件编译成库文件  g++ -c -O2 -fPIC test.cpp -o test.o && g++ -shared -Wall -o test.so test.o  fPIC 作用于编译阶段,告诉编译器产生与位置无关代码  -fno-elide-constructors: Specifying this option disables...

2014-12-04 17:40:00 109

转载 CTest

一、初识CTest CTest是CMake集成的一个测试工具,在使用CMakeLists.txt文件编译工程的时候,CTest会自动configure、build、test和展现测试结果 CTest有两个模式:模式一:使用CMake configure 和 build工程,在CMakeLists.txt文件中,使用特殊的命令取创建tests。...

2014-12-03 09:35:00 1018

转载 工具函数

1.时间处理函数int64_t CycleClock_Now() { struct timeval tv; gettimeofday(&tv, NULL); return static_cast<int64>(tv.tv_sec) * 1000000 + tv.tv_usec;}double WallTime_No...

2014-11-28 18:47:00 88

转载 boost:进程管理

概述Boost.Process提供了一个灵活的C++ 进程管理框架。它允许C++ developer可以像Java和.Net程序developer那样管理进程。它还提供了管理当前执行进程上下文、创建子进程、用C++ 流和异步I/O进行通信的能力。该库以完全透明的方式将所有进程管理的抽象细节呈现给使用者,且该库是跨平台的。特点进程管理Boost.Process的长期目标是提...

2014-11-28 17:27:00 1165

转载 c++11:智能指针

我们在程序运行的过程中,经常出现段错误、内存持续增大等,是C++显式内存管理存在的问题,主要归纳为以下几点:野指针:一些内存单元已经释放,但之前指向它的指针还在使用。重复释放:程序试图释放已经被释放过的内存单元。内存泄漏:没有释放不再使用的内存单元。缓冲区溢出:数组越界。不配对的new[]/delete针对以上1~3的问题,C++标准中提供了智能指针来...

2014-11-28 17:25:00 94

转载 C++11:右值引用

右值引用导言右值引用(及其支持的Move语意和完美转发)是C++ 11加入的最重大语言特性之一,这点从该特性的提案在C++ - State of the Evolution列表上高居榜首也可以看得出来。从实践角度讲,它能够完美解决C++ 中长久以来为人所诟病的临时对象效率问题。从语言本身讲,它健全了C++中的引用类型在左值右值方面的缺陷。从库设计者的角度讲,它给库设计者又带来了一把利...

2014-11-28 17:24:00 104

转载 并发编程资料

参考资料:1 .浅谈Memory Reordering2.透过LINUX内核看无锁编程3.Why the "volatile" type class should not be useddfsdf4.锁的意义spinlock(自旋锁):http://en.wikipedia.org/wiki/Spinlocklock-free(无锁编程)mu...

2014-11-28 09:43:00 84

转载 memory model

最近看C++11 atomic发现对memory_order很是不理解,memory_order_relaxed/memory_order_consume/memory_order_acquire/memory_order_release/memory_order_acq_rel/memory_order_seq_cst。这些都是跟memory model有关关于memor...

2014-11-26 11:13:00 139

转载 Ubuntu搜狗输入法的使用

下载搜狗拼音输入法安装包删除ibus,确认没有以ibus开头的包存在sudo dpkg -P ibus ibus-gtk ibus-gtk3 ibus-pinyin ibus-pinyin-db-android ibus-table ibus-table-wubi python-ibus ibus*rm -rf ~/.con...

2014-11-18 11:46:00 62

空空如也

空空如也

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

TA关注的人

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