自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(108)
  • 资源 (8)
  • 收藏
  • 关注

原创 Book List

个人书单: ...

2014-05-14 14:09:34 1056

原创 c++ 默认构造函数,拷贝构造函数和复制函数

c++ 默认构造函数,拷贝构造函数和复制函数请看代码#include <iostream>struct A{ A(){ std::cout<<"A()"<<std::endl; } A( const A & a){ std::cout<<"A(A)"<<std::endl; } A & operator=(const A&a){ s

2021-04-03 20:44:32 254

原创 记录一个GCC 和GLIBC不兼容的问题no such instruction: vinsert ......

记录一个GCC 和GLIBC不兼容的问题no such instruction: vinsert ......bug现场图示在线搜索结论汇总实际解决方案bug现场图示在线搜索结论汇总GCC 版本过高,降级binutils 版本低gcc 参数 -march= ? 的问题实际解决方案我是在一个很老旧的linux 集群节点上使用gcc820版本进行编译的,根据搜索反馈,这应该是一个兼容性问题,为了省事,我切换到一个新的节点上编译就好了当然为了使得编译结果能够在旧节点上运行,需要在旧的节点上配

2020-08-15 13:07:54 1337

原创 c++11 regex

c++ regex 库,通过 #include <regex>来使用,是c++11标准引入的功能。regex 库提供三个最基本的正则表达式函数regex_match -> 完全匹配regex_search -> 局部匹配regex_replace -> 匹配后替换regex 有几个基本的类(其实都是模板类) :basic_rege...

2019-10-26 11:08:24 1220

原创 Dockerfile 编辑要点记录

对于我仅仅是简单的封装小的流程脚本。特作以下记录常用* FROM img 基于某个镜像* ENV key value * 配置的变量可以供其他命令使用 , 并且再容器环境存在 * 如果只需要提供给其他命令使用,不需要存在于容器环境,那么使用ARG 命令* COPY local in_image 复制本地文件(本目录以及子目录) --> 到镜像 * ADD ...

2019-06-19 08:55:53 759

原创 性能优化工具/手段

词汇表 profile /侧写/轮廓/绘制侧面图 在计算机里面指的是收集相关(资源使用/函数调用/...)信息。 performance 性能 往往是性能分析工具 , 简写 perf-tools 性能分析工具 google-perftools 全称 : Google Performance Too...

2019-04-28 22:32:29 391

原创 个人博客开张

http://guolidong.xyz/哟吼 不知道最终会怎么样。反正先搞搞呗。

2018-04-19 19:52:38 347

原创 go 命令汇总解释

go 命令解释&gt;go helpGo is a tool for managing Go source code.看,人家叫管理go代码的工具,已经超出编译器的范畴。真是大爱啊!Usage: go command [arguments] 使用格式 : go 命令 参数们The commands are: build compile packa...

2018-04-10 22:13:09 3870 2

原创 golang 从源码编译记录

下载golang 源码 git clone https://github.com/golang/go.git笔者写此博客的时候最新是go 1.10.1 版本。 源码目录 /root/source_bk/go_source/go基本编译流程解释go 语言编译器自1.5版本开始自举 ( 使用go编译器编译go编译器 ) 。所以最新的源码编译其实是直接使用go 编译器来编译。...

2018-04-09 23:11:22 2247

原创 编程语言学习关注点

首先 , 有一个基础的分类:———————————————————————————————————————————分类1 。 看基础的理论模型。基于图灵机 C/C++ Java Python Perl Go Rust表达式+ 语句还是lamda 演算 –函数式编程 Lisp、Scheme、Haskell ,Erlang不支持语句 , 只有表达式。—————————...

2018-04-05 19:28:08 240

原创 popen 遇到ENOMEN 的失败的bug调研

问题描述公司原有的程序最近遇到一个有趣的问题, 系统有内存3T , 内存消耗2.5T , 这个时候日志显示打开gzip 格式文件失败。 程序是老派的C程序, 打开gzip文件的方式是这样的:fd = popen("gzip -dc xxx.gz","r");我在后面添加了打印errno , 发现居然是ENOMEM (12) 这个错误! 问题调研查询关键字 popen ...

2018-04-03 19:59:25 1501 2

原创 wordpress 学习笔记-action-filters

wordpress 学习笔记-action-filtersWP_Hook 类此类是action 和hook 机制的共同基础,源码位于 wp-include/class-wp-hook.php 。 此类的一个对象对应了一个具体的action/filter , 内部维护了一张二维的表格,第一维度是优先级,第二维度是注册顺序, 数据则是对应的函数信心。 每当执行操作发生的时候,就按照顺序一一调...

2018-04-02 23:34:26 630

原创 浏览器 , Web 服务器 , PHP 后台脚本。 当我访问网页的时候到底发生了什么。

直接上图

2018-03-31 11:32:40 261

原创 一个薛定谔的bug

最近在维护公司原有项目的时候,遇到了一个无限循环的bug 。 初次遇到的时候,是刚刚接手这个项目,甚至怀疑自己是不是参数没有配置正确。 后来切换了运行服务器,重新编译后却正常运行了,也就没有再去追究(。。。囧。。。)。 老大分配的维护任务完成后,进行了基本的测试验证。觉得没问题了又回到了最初的服务器进行实际运行测试。起初我运行的DEBUG版本。 成功运行一遍之后,使用RELEASE 版本运行,结

2017-11-12 19:58:28 1325

原创 google protobuf 反射机制学习笔记

何为反射机制基本概念指程序可以访问、检测和修改它本身状态或行为的一种能力程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。您可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类型的方法或访问其字段和属性。我(c++程序员)关注的问题如何在程序运行过程中通过类型名字(一个字符串,合法但是内容在编译期间未知,比如是在

2016-09-06 17:50:22 22693 4

原创 一个自动类型转化导致的bug

问题#include #include #include int main(){ uint32_t now = time(0) ; float gap = 104 ; uint32_t should = now + 104 ; uint32_t but = now + gap ; assert(but == shuld); retu

2016-08-30 17:54:26 584

原创 Boost.Any 源码解析

Any 解决的问题当一个 X( 变量/返回值/参数) 需要在运行时态接纳不同类型的参数的时候。当不同类型(不来自同一个继承体系)的对象需要被视为统一类型的时候。(比如放入同一个容器) 传统的解决方案void *传统解决方案的不足丢失类型信息容易引入内存问题,未定义问题Boost.Any 使用简介Boost.Any 源码解析boost 版本

2016-08-24 14:38:36 769

转载 Valgrind 使用简介

Valgrind 概述体系结构Valgrind是一套Linux下,开放源代码(GPL V2)的仿真调试工具的集合。Valgrind由内核(core)以及基于内核的其他调试工具组成。内核类似于一个框架(framework),它模拟了一个CPU环境,并提供服务给其他工具;而其他工具则类似于插件 (plug-in),利用内核提供的服务完成各种特定的内存调试任务。Valgrind的体系结构如下图所

2016-08-16 10:27:12 1272

原创 doxygen 学习速记

doxygenBasic config for a c/c++ projectGenerate original config file doxygen -g Config detailsChanged byBest way is use doxywizard.or just edit it. Basic detailsSource code directory INPUT =

2016-06-15 09:43:47 431

原创 Boost 计时器 定时器 速记

计时器 boost.Timer接口elapsed() 报告当前跑了多久了。 结果包括: struct cpu_times { nanosecond_type wall; nanosecond_type user; nanosecond_type system; void clear() { wall = user = system = 0LL; } }

2016-05-26 23:56:27 1839

原创 cron表达式解析 + robfig/cron 源码剖析

robfiig/cron 源码剖析项目信息下载地址https://github.com/robfig/cron.git文件目录讲解constantdelay.go #一个最简单的秒级别定时系统。与cron无关constantdelay_test.go #测试cron.go #Cron系统。管理一系列的cron定时任务(Schedul

2016-04-07 11:39:06 14237 8

原创 log4go 源码剖析

log4go 源码下载https://github.com/alecthomas/log4go.git 源码目录...config.goexamples filelog.go.git.gitignoreLICENSElog4go.golog4go_test.gopattlog.goREADMEsocklog.gotermlog.gowrapper.go源码剖析对问题的抽象

2016-04-05 16:01:25 4013

原创 Vim - Go

Go - vimInstall Vundle https://github.com/VundleVim/Vundle.vimInstall vim-goDownload git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vimconfig" Put inside Vundle " Instal

2016-03-25 14:30:36 773

原创 MD5 电子签名

MD5 算法假设我们有 b - bits 的数据,需要计算他的电子签名 , 对于任意的 b ( 甚至可以是 0 , 但是必须是 8 的倍数) 。追加对齐bit数据。让数据对齐成 模512 byte 剩余448 byte 的长度。 追加数据一定要进行,哪怕数据本来就是模512 byte 剩余448 byte, 也得追加512个byte来对对齐。 追加数据的方式是第一个bit是1 。 其余的bit全部

2016-03-22 09:27:54 781

原创 C++ variadic

VariadicTalking about variadic , before going down to any language detail , Here I have some questions : How to access the details of variadic argument ? How to know the number of variadic ?How to

2016-03-17 13:43:53 808

转载 通过/proc/pid./status查看进程信息

/proc/9744$ cat statusName: gedit /*进程的程序名*/State: S (sleeping) /*进程的状态信息,具体参见http://blog.chinaunix.net/u2/73528/showart_1106510.html*/Tgid: 9744 /*线程组号*/Pid: 9744 /*进程pid*/PPid: 7672 /*父进程的pid*/

2016-03-12 11:05:26 1507

原创 google-benchmark 渐进学习

google-benchmark 下载与README 地址https://github.com/google/benchmark本文所有源码均Ctr-C & Ctr-V 自此地址。源码的编译和执行源码test.cpp 这个一个测试memcpy对不同大小的内存的执行效率的函数。#include #include static void BM_memcpy(bench

2016-03-08 22:05:22 4078 2

翻译 boost 各个模块的功能

Accumulators 累加器。 提供各种统计支持。比如计算中位数,平均值 。。。 作者 ……….. Eric Niebler首次发布…. 1.36.0标准…………分类………… 数学和计算Algorithm 算法库。提供各种通用算法。比如排序,查询。。。 作者 ……….. Marshall Clow首次发布…. 1.50.0标准…………分类………… 算法Align 地址对

2016-03-07 15:21:10 5061 3

原创 boost::asio::coroutine 文档翻译 + 源码解析

文档地址 http://www.boost.org/doc/libs/1_60_0/doc/html/boost_asio/reference/coroutine.html文档翻译协程提供实现不需要栈的协程的支持class coroutine成员函数 函数名 描述 coroutine 构造成为初始化状态 is_child 如果是一个fork子协程的话返回true is

2016-02-23 14:24:11 5490

原创 [翻译] Protobuf 语言指南 ( proto 2 )

定义一个消息首先来看一个简单的例子,定义一个搜索请求的消息格式,每个消息包含一个请求字符串,你感兴趣的页数和每页的结果数。下面是在.proto 文件中定义的消息。message SearchRequest { required string query = 1; optional int32 page_number = 2; optional int32 result_per_

2016-02-16 16:14:11 14740 6

原创 Redis 中文论坛推广

最近公司使用Redis, 于是注册了下Redis中文论坛,人气不旺,希望大家多踩踩。 http://bbs.redis.cn/?fromuid=20

2016-02-15 09:43:50 711

原创 awk 编程

awk 最简单基本规则pattern {action}pattern {action}...也就是说, 符合某种模式,执行某种操作。模式BEGIN { statements } The statements are executed once before any input has been read. 在所有其他操作之前先执行这个 END { statements } The s

2016-02-05 17:02:42 534

原创 tar 命令解析 .tar .gz .bz2

概念tartar 是一种打包的工具。将多个(或者一个,如果你够无聊的话)文件/文件夹打包成为一个文件(使用f 选项指定输出文件, 否则输出到标准输出)。打包一个文件夹user@linux-xmq3:~/tmp> lltotal 0drwxr-xr-x 8 lguo users 129 Jan 28 16:06 original# 将original文件夹打包成为packet文件lguo@

2016-02-04 16:54:19 2152

原创 linux系统目录结构

//目录也称为根目录,位于linux文件系统目录结构的顶层。在很多系统中的唯一分区。如果还有其他分区,必须挂在到/目录下某个位置。整个目录结构呈树型结构,因此也称为目录树。binbin目录为命令文件目录,也称为二进制目录。包含了供系统管理员及普通用户使用的重要的linux命令和二进制(可执行)文件,包含shell解释器等,该目录不能包含子目录。bootboot目录,该目录中存放系统的内核文件和引导装

2016-02-04 15:20:30 460

原创 配置 StarDic 字典

Linux 下stardic 默认目录 :/usr/share/stardic/dic添加新词典下载词典网上下载牛津英汉词典 : stardict-oxford-gb-formated-2.4.2.tar.bz2 在~/Download/ 目录下解压并放置在正确目录 # > 是bash 的提示符 >cd ~/Download >tar -jxvf stardict-oxford-gb-for

2016-02-04 14:43:41 895

原创 svn 用法零散速记

生成diff文件:svn diff > xxx.diff 生成 patch:同事 A 运行如下命令生成 patch: svn diff > aaa.patch应用 patch:同事 B 运行如下命令应用 patch: patch –p0 < ../aaa.patch删除该 patch :patch –p0 -R < ../aaa.patch

2016-02-03 18:30:17 443

转载 Awk 使用说明

简介awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本。awk其名称得自于它的创始人 Alfred Aho

2016-02-03 09:32:49 400

原创 flock shell script 使用速记

背景在进行后台开发的时候,由于项目本身由多位同事维护,而布设的测试服务器仅一台, 便经常出现脚本执行的多线程(多人) 问题。 比如我们有一个rebuild脚本, 负责重新编译整个项目, 有的时候同时我更新了代码,便登陆测试服务器更新编译,殊不知另一个同事也在编译, 于是两个人都编译不好了, 而且如果不在意的话, 根本不知道是怎么回事。为了解决这个问题, 我让这个rebuild脚本在执行编译前先尝试

2016-01-24 18:45:58 2535

转载 c++11新特性

候选变更C++的修订包含核心语言以及标准程序库。在发展新标准的每个机能上,委员会采取了几个方向:维持与C++98,可能的话还有C之间的稳定性与兼容性;尽可能不通过核心语言的扩展,而是通过标准程序库来引进新的特色;能够演进编程技术的变更优先;改进 C++ 以帮助系统以及库设计,而不是引进只针对特别应用的新特色;增进类型安全,提供对现行不安全的技术更安全的替代方案;增进直接对硬件工作的能力与

2016-01-22 09:39:22 1478

原创 ssh 使用Tips

基本格式最简单ssh username@hostname ## 比如以root用户登录局域网的某台机器 , 机器IP是 192.168.1.3ssh [email protected]# 会要我输入root的密码登录指定的端口ssh username@address -p port## 比如以root用户登录局域网的某台机器 , 机器IP是 192.168.1.3 端口是 1024

2016-01-21 13:27:57 425

gdb 使用手册 说明文档

gdb 使用手册 说明文档 gdb 使用手册 说明文档 gdb 使用手册 说明文档

2017-10-30

系统架构师考试历年真题下载(含答案)

系统架构师考试历年真题下载(含答案) 系统架构师考试历年真题下载(含答案) 系统架构师考试历年真题下载(含答案)

2017-10-10

系统架构设计师真题_2009-2015论文合集

系统架构设计师真题_2009-2015论文合集 系统架构设计师真题_2009-2015论文合集 系统架构设计师真题_2009-2015论文合集

2017-10-10

数据挖掘与R语言 李洪成译.pdf

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

2017-09-28

pajek-中文使用手册

pajek 官方教程中文翻译,强烈推荐! pajek 官方教程中文翻译,强烈推荐! pajek 官方教程中文翻译,强烈推荐! pajek 官方教程中文翻译,强烈推荐!

2017-09-14

程序员健康指南

给你一个健康的身体, 一遍长久的战斗在编码一线 ~~

2015-06-18

Shell 学习笔记

自己写的shell学习笔记, 可以作为速查资料

2015-05-20

游戏引擎架构(英文版).pdg

游戏引擎开发者必看, 可惜是英文版. 中文版的版权限制厉害,只有预览的~~ 将就着用吧

2015-01-20

空空如也

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

TA关注的人

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