- 博客(87)
- 资源 (19)
- 收藏
- 关注
原创 gcc 4.4.6安装
1/ 下载源码:https://ftp.gnu.org/gnu/gcc/gcc-4.4.6/2/ 安装:tar -zxvf gcc-4.4.6.tar.gzmkdir /usr/bin/gcc-4.4.6cd ./gcc-4.4.6./configure --prefix=/usr/bin/gcc-4.4.6 --enable-language=c,c++,java报错,...
2019-03-13 20:26:56
2938
1
原创 MacOS下搭建gRpc开发环境
1/下载安装golang安装包:https://golang.org/dl/2/配置环境变量:vi ~/.bashrc##插入如下内容export GOROOT=/usr/local/go/export GOPATH=/Users/yadiel/work/testexport PATH=$GOROOT/bin:$GOPATH/bin:$PATHsource ~/.bas...
2019-01-10 12:02:08
2392
转载 zookpeer 伪集群搭建及 C API使用
http://www.cnblogs.com/haippy/archive/2013/02/21/2920280.html
2017-08-29 20:24:43
520
原创 lua学习
Lua虚拟机学习:http://blog.youkuaiyun.com/yuanlin2008/article/details/8491112https://blog.codingnow.com/eo/luaoeeeaeau/ (云风博客)c++ 和 lua交互:http://www.cnblogs.com/sevenyuan/p/4511808.htmllua入门ht
2017-08-25 20:23:44
504
转载 shell命令一些技巧
一、字符串截取http://www.jb51.net/article/47529.htm二、判断一个字符串是否包含另一个字符串str='this is a tree! and that is a car.'//如果包含this[[ $str =~ "this" ]] && echo "\$str contains this"//如果不包含that[[ $st
2016-01-07 09:28:04
616
原创 后台服务器CPU使用率高 问题分析方法
一、找出cpu使用率高的进程和线程: a、将 cpu 占用率高的线程找出来:ps H -eo user,pid,ppid,tid,time,%cpu,cmd--sort=%cpu b、对于多线程的服务,通过top命令得到cpu使用率高的进程后,可以使用如下命令查看该进程下各线程cpu使用率ps -eLo pid,lwp,pcpu | grep PID c、直接使用
2015-01-23 17:55:12
3828
转载 Wireshark图解教程(简介、抓包、过滤器)
原文地址:http://blog.sina.com.cn/s/blog_5d527ff00100dwph.htmlWireshark是世界上最流行的网络分析工具。这个强大的工具可以捕捉网络中的数据,并为用户提供关于网络和上层协议的各种信息。与很多其他网络工具一样,Wireshark也使用pcapnetwork library来进行封包捕捉。可破解局域网内QQ、邮箱、msn、账号等的密码
2014-12-06 20:46:31
1001
原创 自动化 远程登陆linux服务器并执行命令 —— expect
Linux服务器A登陆Linux服务器B服务器A上需要先安装expect。test.exp#!/usr/bin/expect -f // expect安装目录set timeout 10 set username [lindex $argv 0] //保存脚本参数到变量中set password [lindex $argv 1] set hostname [lindex
2014-11-15 20:19:11
6567
原创 C++ 访问控制权限图解
基类访问权限类继承方式子类访问权限 public public protectedpublicprotected private No Access public protected protectedprotectedprotected
2014-11-06 10:30:38
1334
原创 字符串翻转
将字符串翻转,如下:输入:Hi Welcome to cricode输出:cricode to Welcome Hi#include #include #include using std::cout;using std::endl;using std::string;using std::stack;void main(){ string
2014-09-27 11:20:41
1209
原创 linux内存管理内幕
忽然想起前几天在公司看到一篇关于内存管理的文章,但当时由于别的事情给打断了。今天想起来,就又在网上找了一下,与大家分享一下。虽然自己现在从事内核模块开发,对内存池和引用计数也有所了解,但由于理解深度及文笔,不能自己娓娓道来,所以就和大家一起来瞻仰一下大师给我们的讲解。以下内容来自于http://www.ibm.com/developerworks/cn/linux/l-memory/
2014-09-27 10:40:38
1517
原创 大数相乘
原文地址:#include #include #include void multiply(char* a, char* b, char* c){ int sa = 0; int sb = 0; int i,j; int *result = NULL; if ((NULL == a) || (NULL == b) || (NULL == c)) { retu
2014-09-15 00:15:17
1239
原创 冒泡排序和快速排序
原文地址:#include #include #include #include using std::cout;using std::endl;using std::string;using std::stack;int arr1[10] = {3,5,2,8,6,1,4,0,9,7};int arr2[10] = {3,5,2,8,6,1,4,0,9,7};v
2014-09-14 22:31:22
1275
原创 一些有意思的面试题(持续更新)
1.写一个高效C语言程序,计算一个无符号整数中1的个数。for(count=0; x ; count++) x &= x-1;同理,计算0的位数:for(count=32; x ; count--) x &= x-1;2.给定字符串S1和S2,写程序判断S2是否能由S1旋转而来,要求只能调用一次strstr系统函数。void main(){ cha
2014-08-14 22:40:05
6032
1
原创 《UNIX环境高级编程》读书笔记 —— 文件 I/O
一、打开或创建一个文件#include int open(const char *pathname, int oflag, .../*mode_t mode*/); 返回值:若成功则返回文件描述符,若出错则返回-1oflag选项:O_RDONLYO_WRONLYO_RDWR以上三个常量中必须指定一个,且只能指定一个。以下常量都是可选的:O_AP
2014-07-05 12:41:30
1230
转载 linux系统备份与恢复(转)
在使用Ubuntu之前,相信很多人都有过使用Windows系统的经历。如果你备份过Windows系统,那么你一定记忆犹新:首先需要找到一个备份工具(通常都是私有软件),然后重启电脑进入备份工具提供的软件环境,在这里备份或者恢复Windows系统。Norton Ghost是备份Windows系统时经常使用的备份工具。 在备份Windows系统的时候你可能想过,我能不能把整个C盘都放到
2014-06-16 14:53:50
849
原创 手把手教你构建自己的Linux系统 —— 软件包下载地址
wget -c http://ftp.gnu.org/gnu/binutils/binutils-2.7.tar.gzwget -c http://ftp.gnu.org/gnu/gcc/gcc-4.4.2/gcc-4.4.2.tar.bz2wget -c https://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.33.1.tar.bz2
2014-06-01 18:42:21
2645
原创 ssh远程登录linux live系统
要想ssh远程登录,需要准备两件事:配置同网段IP和开启SSH服务。由于live系统没有IP,所以首先需要配置IP。我的live系统是在虚拟机上启动的,宿主IP为192.168.230.1,live系统的IP我设置为192.168.230.180:#ifconfig eth0 192.168.230.180然后在SecurityCRT上连接live系统,输入密码时发现liv
2014-05-31 13:41:08
1459
原创 UltraEdit正则表达式介绍及实例
前几天,有个将Excel中的数据导入到数据库中的需求,原本想到用程序读取Excel中的数据并存储到数据库中,但经一哥们的提醒,说用 EditPlus或UltraEdit这样的工具直接将数据拼凑成SQL插入语句更容易方便,也不用写任何代码,由于我本人使用UltraEdit,故考 虑用UltraEdit的正则表达式来做这件事,下面是这样的一个过程。假设导入的表字段为:name,email, int
2014-05-27 22:31:43
1285
原创 CentOS系统mount windows共享文件夹
格式:mount -t cifs //IP/share-folder /mnt-point -o username=your-username,passwd=your-password[root@client mnt]# mount -t cifs //192.168.230.1/f /mnt/share/ -o username=***,passwd=***[root@clien
2014-05-21 22:47:57
3508
原创 GlusterFS源码解析—— GlusterFS 命令行常见错误
问题1[root@localhost ~]# gluster peer statusConnection failed. Please check if gluster daemon is operational.原因:未开启glusterd服务解决方法:开启glusterd服务/etc/init.d/glusterd start问题2[root@loc
2014-05-16 00:19:57
6611
原创 GlusterFS源码解析 —— GlusterFS 配置
GlusterFS 源码安装方式:http://blog.youkuaiyun.com/wangyuling1234567890/article/details/255192611、GlusterFS的典型架构图2、GlusterFS常用translators(中继)2.1.1. storage/posix type storage/posixstorage/po
2014-05-13 23:16:49
2314
转载 Linux ./configure --prefix 选项的意义
源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install),具体的安装方法一般作者都会给出文档,这里主要讨论配置(configure)。Configure是一个可执行脚本,它有很多选项,使用命令./configure –help输出详细的选项列表,如下:-bash-3.00# ./configure --helpUsage: configu
2014-05-11 02:35:41
1234
原创 GlusterFS源码解析 —— GlusterFS 源码安装
GlusterFS 挂载需要 fuse 支持,如果你的内核版本低于 2.6.16 则需要下载fuse的源码包自行编译安装,也可下载 fuse 的rpm包。安装fuse的方法我就不说了,不会源码安装的直接去rpmfind.net上下载rpm即可。高于此版本的内核中已经有了fuse.ko的模块,需要的时候可以执行以下命令进行加载:modprobe -b fuse1、下载GlusterF
2014-05-11 02:19:38
5329
1
原创 GlusterFS源码解析 —— GlusterFS 结构体系分析
简述经过这几天对Glusterfs的分析, 对其体系结构已经有了初步的理解。 值得庆贺的一点就是 Glusterfs 的整个体系结构非常清晰, 高度模块化的设计使得我们对他的理解和扩展变得比较容易。我打算从下面几步来分析其体系结构:1. 给出几个从网络上收集的结构图, 用以帮助我们来从整理上认识其体系结构。 2. 以 Glusterfs 的一个客户端配置文件入手, 来理解
2014-04-27 21:44:39
6502
5
原创 GlusterFS源码解析 —— GlusterFS 日志
Logging.c:/* Copyright (c) 2008-2012 Red Hat, Inc. This file is part of GlusterFS. This file is licensed to you under your choice of the GNU Lesser General Public License, version 3 or any
2014-04-27 12:20:11
2887
原创 GlusterFS源码解析 —— GlusterFS 内存分配方式
GlusterFS 的内存分配主要有两种方式,一种是内存池分配,一种是普通内存分配。不了解内存池使用的请查阅相关资料,这里不再解释。内存池分配使用一个mem_pool对象来管理,看过内核代码的话对内存池的结构就不会陌生了。内核代码中好多管理就是利用内核list链表来进行。内存池结构如下:struct mem_pool { struct list_head list;
2014-04-27 01:54:40
3585
1
原创 GlusterFS源码解析 —— GlusterFS 简介
1.Glusterfs简介GlusterFS是Scale-Out存储解决方案Gluster的核心,它是一个开源的分布式文件系统,具有强大的横向扩展能力,通过扩展能够支持数PB存储容量和处理数千客户端。GlusterFS借助TCP/IP或InfiniBandRDMA网络将物理分布的存储资源聚集在一起,使用单一全局命名空间来管理数据。GlusterFS基于可堆叠的用户空间设计,可为各种不同的数据负
2014-04-27 01:28:15
3950
原创 linux日志系统介绍 —— syslog(),openlog(),closelog()
函数使用介绍这里面的三个函数openlog, syslog,closelog是一套系统日志写入接口。另外那个vsyslog和syslog功能一样,只是参数格式不同。 通常,syslog守护进程读取三种格式的记录消息。此守护进程在启动时读一个配置文件。一般来说,其文件名为/etc/syslog.conf,该文件决定了不同种类的消息应送向何处。例如,紧急消息可被送向系统管
2014-04-26 02:15:06
29907
原创 vmware虚拟机安装VMware Tools
Install VMware Tools in a Linux GuestVMware Tools is supported on all Linux guest operating systems that VMware Player supports.Prerequisites:The virtual machine must be powered on and the g
2014-04-25 00:11:40
1853
原创 sprintf使用详解
函数简介编辑功能把格式化的数据写入某个字符串缓冲区。头文件stdio.h原型int sprintf( char *buffer, const char *format, [ argument] … );参数列表buffer:char型指针,指向将要写入的字符串的缓冲区。format:格式化字符串。[argument]...:可选参数,可以是任何类型的数据。
2014-04-24 23:01:20
2359
转载 分布式架构关键技术
分布式的概念所谓分布式,狭义的指代以Google的三驾马车,GFS、Map/Reduce、BigTable为框架核心的分布式存储和计算系统。Hadoop是一个基于Java实现的,开源的,分布式存储和计算的项目。作为这个领域最富盛名的开源项目,Hadoop实现的是分布式的文件系统HDFS,和分布式的计算(Map/Reduce)框架。分布式架构关键技术主要有分布式文件系统、分布式存储和分布式数
2014-04-22 22:10:54
2500
转载 详解Linux内核红黑树算法的实现
开发平台:Ubuntu11.04 内核源码:linux-2.6.38.8.tar.bz2 关于二叉查找树的概念请参考博文《详解二叉查找树算法的实现》。 平衡二叉树(BalancedBinary Tree或Height-Balanced Tree)又称AVL树。它或者是一棵空树,或者是具有下列性质的二叉树:它的左子树和右子树都是平衡二叉树,且左子树和右子树的深度之
2014-04-22 21:52:16
929
原创 python —— 使用logging模块简单实现日志系统
使用logging模块写的一个小型日志系统,可以运行在windows和linux系统。设计有些地方不够合理,需要改进。源代码下载地址:文档组织结构:linux:/mnt/hgfs/vmware-share/log_system # tree -a ../log_system/../log_system/|-- __init__.py|-- log|-- main.py
2014-04-19 19:44:02
2039
转载 VMWare网络设置的3种方式
一 VMware网络设置的三种方式1 Host-only连接方式 让虚机具有与宿主机不同的各自独立IP地址,但与宿主机位于不同网段,同时为宿主主机新增一个IP地址,且保证该IP地址与各虚机IP地址位于同一网段。最终结果是新建了一个由所有虚机与宿主主机所构成的局域网,但该局域网与宿主主机本身所处的现有局域网是相互独立的,如果不做额外路由设置,这两个局域网之间不会连通,因此新建的局域网可以认
2014-04-17 22:28:57
916
原创 "Hello World " —— 深入理解程序从编译到运行
对于C语言编写的Hello World程序(如下),对于程序员来说肯定如雷贯耳,就是这样一个简单的程序,你真的了解她吗?#include int main(){ printf("Hello World\n") return 0;}对于下面这些问题,你脑子里能够马上反映出一个清晰、明显的答案吗?程序为什么要被编译器编译之后才可以运行?编译器在把C语言程序转换成可
2014-04-17 22:06:45
5035
原创 restrict关键字
restrict是c99标准引入的,它只可以用于限定和约束指针,并表明指针是访问一个数据对象的唯一且初始的方式.即它告诉编译器,所有修改该指针所指向内存中内容的操作都必须通过该指针来修改,而不能通过其它途径(其它变量或指针)来修改;这样做的好处是,能帮助编译器进行更好的优化代码,生成更有效率的汇编代码.如 int *restrict ptr, ptr 指向的内存单元只能被 ptr 访问到,任何同样
2014-04-16 00:30:04
903
转载 sigaction函数解析
/** * @file demo7.c * @Synopsis * * int sigaction(int signum,const struct sigaction *act,struct sigaction *oldact) * @param signum * @param struct sigaction * oldact -> NULL * @param
2014-04-15 23:58:05
783
原创 linux编程 关于国际化
看shell命令源码时发现在main函数开始的地方会先设置本地环境,就在网上找了一些文章,先收藏了,以后整理。函数:setlocale (LC_ALL, "");bindtextdomain (PACKAGE, LOCALEDIR);textdomain (PACKAGE);Linux国际化 http://blog.chinaunix.net/uid-10995602-
2014-04-08 22:57:30
915
pycrypto编译后的安装包
2014-03-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人