- 博客(110)
- 资源 (56)
- 收藏
- 关注
原创 C/C++基础(三十) 编译与加载 静态库(.a)
1.定义StaticLibDef.h#ifndef _STATIC_LIB_H#define _STATIC_LIB_Hvoid fun();class LibObject{ public: void fun(); void other_fun();};#endif2.实现StaticLibDef.cpp#i
2015-11-11 17:43:48 4250
原创 Server 框架设计思路分享
Server部分分为四部分:Access接入层、Dispatcher事件分发层、BusinessLogic业务处理层、数据处理层Access接入层:Dispatcher事件分发层:BusinessLogic业务处理层:数据处理层:
2015-11-09 23:15:08 1440 1
转载 Linux下批量替换文件内容
linux下批量替换文件内容1、网络上现成的资料 格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径` linux sed 批量替换多个文件中的字符串 sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir` 例如:替换/home下所有文件中的www.admin9
2015-06-08 20:13:38 936
原创 Linux 查找某时间段内的所有文件
1.如果是精确到天如:在20-50天内修改过的文件find ./ -mtime +20 -a -mtime -50 -type f2.精确到时分秒如:在2015年5月10日内的文件方法一:touch -t 201505100000 t_start;touch -t 201505102359.59 t_end;find . -type f -newer
2015-06-06 08:14:51 37556
原创 Linux 列出某个进程的具体的启动目录
列出某个进程的具体的启动目录ll /proc/$(ps -ef |grep "keyword" | grep -v grep | awk '{print $2}') | grep exe |awk '{print $10}'1.查找程序pid2.列出proc/pid下的信息3.过滤关键信息例子:
2015-06-01 10:13:29 697
转载 Linux Memcache 查看列出所有key方法
Memcache 查看列出所有key方法2014年3月11日tonyty163今天在做一个Memcache的session测试,但是在测试的过程中,发现Memcache没有一个比较简单的方法可以直接象redis那样keys *列出所有的Session key,并根据key get对应的session内容,于是,我开始查找资料,翻出来的大部分是一些memcac
2015-05-29 18:42:34 5892 1
原创 Linux 查找某天的文件并打包
1.方法一ll -lrt | grep May\ 25 | awk '{print $9}' | xargs tar -zcvf /home/DexYang/userser0525.tar.gz
2015-05-29 18:33:59 5641
原创 Linux 查找目录中含有关键字的文件并打印文件名
命令如下:find -type f -print | xargs grep "include" | awk '{gsub(":"," ");print $1}' | uniq -c查找文件->过滤文件名->去重列出文件中出现关键字的次数和文件名
2015-05-27 19:27:16 5381
原创 Linux vim如何实现文件中多行或者所有行相同列插入相同的字符串
1.可用于在选中的行上插入相同的内容vi 下,如何在每行中插入?(类似UltraEdit的列编辑)1: 定位光标2: CTRL+v #进入Visual Mode。3: j #选择要在哪些行加入?!4: I #一定是大写!5: 输入要插入的文本6: ESC
2015-05-04 11:16:48 12582
原创 C/C++ 统计函数调用时间
写一个小程序来统计函数调用时间,简单明了直接看代码,有三个文件,FunTimer.h , FunTimer.cpp ,FunTimerMan.cpp 分别如下:FunTimer.h文件#ifndef _FUNTIMER_H#define _FUNTIMER_H#include #include #include using namespace std;class F
2015-04-13 23:37:07 3006
转载 Linux 常用命令之tcpdump
tcpdump是一个用于截取网络分组,并输出分组内容的工具,简单说就是数据包抓包工具。tcpdump凭借强大的功能和灵活的截取策略,使其成为Linux系统下用于网络分析和问题排查的首选工具。tcpdump提供了源代码,公开了接口,因此具备很强的可扩展性,对于网络维护和入侵者都是非常有用的工具。tcpdump存在于基本的Linux系统中,由于它需要将网络界面设置为混杂模式,普通用户不能正常执
2015-03-29 16:20:04 979
原创 Linux 常用命令之netstat
简介Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。输出信息含义执行netstat后,其输出结果为Active Internet connections (w/o servers)Proto Re
2015-03-29 11:02:01 948
转载 监控 Linux 性能的 18 个命令行工具
对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作。在IT领域作为一名Linux系统的管理员工作5年后,我逐渐认识到监控和保持系统启动并运行是多么的不容易。基于此原因,我们已编写了最常使用的18个命令行工具列表,这些工具将有助于每个Linux/Unix 系统管理员的工作。这些命令行工具可以在各种Linux系统下使用,可以用于监控和查找产生性能问题的原因。这个命令行工具列
2015-03-24 23:47:51 1260
原创 Linux 常用命令之lsof
一、简介lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。因
2015-03-24 22:56:53 940
转载 Linux 常用命令之vmstat
Vmstat命令详解一、前言vmstat命令: 用来获得有关进程、虚存、页面交换空间及 CPU活动的信息。这些信息反映了系统的负载情况二、虚拟内存运行原理在系统中运行的每个进程都需要使用到内存,但不是每个进程都需要每时每刻使用系统分配的内存空间。当系统运行所需内存超过实际的物理内存,内核会释放某些进程所占用但未使用的部分或所有物理内存,将这部分资料存储在磁盘上直到
2015-03-24 17:13:31 727
原创 Linux 常用命令之top
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。该命令可以按CPU使用.内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定.1.输入top,显示如下信息一、总体信息1. 第一行是任务队列信息(同 uptime 命令的执行结果):[
2015-03-24 15:22:21 2151
原创 Linux 常用命令之搜索文件中的特殊字符并且高亮显示
方法1:vim命令模式下利用 :/ 要搜索的内容 如 ":/ keyword" 在vim中搜索keyword方法2:使用less命令less passwd然后输入:/keyword回车此时如果有keyword字符串,linux会把该字符已高亮方式显示。
2015-03-09 17:16:04 3216
转载 初识memecached
memcached 是由 Danga Interactive 开发并使用 BSD 许可的一种通用的分布式内存缓存系统。Danga Interactive 开发 memcached 的目的是创建一个内存缓存系统来处理其网站 LiveJournal.com 的巨大流量。每天超过 2000 万的页面访问量给 LiveJournal 的数据库施加了巨大的压力,因此 Danga 的Brad
2015-02-13 09:46:19 713
转载 c/c++基础(二十七) Linux下core文件调试方法
在程序开发中,我们常常用多种方法来定位程序的异常退出,如:打印日志,gdb core等.在程序不寻常退出时,内核会在当前工作目录下生成一个core文件(是一个内存映像,同时加上调试信息)。使用gdb来查看core文件,可以指示出导致程序出错的代码所在文件和行数。1.core文件的生成开关和大小限制 1)使用ulimit -c命令可查看core文件的生成开关。若结果为0,
2015-01-26 22:35:00 929
原创 c/c++基础(二十六) gdb调试so
当自己开发了一个so文件,如何调试呢?对于如何编写一个so,请参考文章:http://blog.csdn.net/zz7zz7zz/article/details/41448987对于如何进行gdb调试,请参考文章:http://blog.csdn.net/zz7zz7zz/article/details/41654457假设我们的源文件分别是:filea.c#include <stdio.h>void fun1(){ printf("i am from filea fun1 \n");
2014-12-29 15:06:53 5640
转载 c/c++基础(二十五) 编写makefile文件
看文档:http://download.csdn.net/detail/zz7zz7zz/8211313
2014-12-07 23:31:49 876
原创 c/c++基础(二十四) 静态属性与静态方法
举个例子:类A的声明与实现如下:#pragma onceclass A{ public: int count1; //static int count2=100;//error ,带有类内初始值设定项的成员必须为常量 //const static int count3=100;//正确 static int count2; public: int getCou
2014-12-03 18:49:52 5333
转载 初识Protobuf
简介什么是 Google Protocol Buffer? 假如您在网上搜索,应该会得到类似这样的文字介绍:Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准,目前已经正在使用的有超过 48,162 种报文格式定义和超过 12,183 个 .proto 文件。他们用于 RPC 系统和持续数据存储系统。Pro
2014-12-02 15:10:05 1003
转载 初识redis
在Ubuntu中安装RedisR利剑NoSQL系列文章,主要介绍通过R语言连接使用nosql数据库。涉及的NoSQL产品,包括Redis, MongoDB, HBase, Hive, Cassandra, Neo4j。希望通过我的介绍让广大的R语言爱好者,有更多的开发选择,做出更多地激动人心的应用。关于作者:张丹(Conan), 程序员Java,R,PHP,Javascri
2014-12-02 11:37:37 799
转载 c/c++基础(二十三) GDB调试入门
用GDB调试程序GDB概述————GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。一般来说,GDB主要帮忙你完成下面四个方面的功能:
2014-12-01 22:15:03 1962
转载 c/c++基础(二十二) C++继承:公有,私有,保护
公有继承(public)、私有继承(private)、保护继承(protected)是常用的三种继承方式。1. 公有继承(public)公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的,不能被这个派生类的子类所访问。2. 私有继承(private)私有继承的特点是基类的公有成员和保护成员都作为派生类的私有
2014-12-01 22:11:37 834
转载 c/c++基础(二十一) 命名空间
命名空间(namespace)是一种描述逻辑分组的机制,可以将按某些标准在逻辑上属于同一个任务中的所有类声明放在同一个命名空间中。标准C++库(不包括标准C库)中所包含的所有内容(包括常量、变量、结构、类和函数等)都被定义在命名空 间std(standard标准)中了。定义命名空间有两种形式的命名空间——有名的和无名的。命名空间的定义格式为:(取自C++标准文档)
2014-12-01 19:37:22 767
原创 c/c++基础(二十) 类的前向声明和#include区别
在头文件中引入另一个类经常有两种写法:(1)class Name;(2)#include "Name.h"它们的区别是什么呢?第一种叫做前向声明,在程序中引入了类类型为Name.在声明之后,定义之前,类Name是一个不完全类型(incompete type),即已知Name是一个类型,但不知道包含哪些成员.不完全类型只能以有限方式使用,不能定义该类型的对象,不完全类型只能用于定义指向该类型的指针及引用,或者用于声明(而不是定义)使用该类型作为形参类型或返回类型的函数.(前向声明只知道有这么一个类,
2014-12-01 15:45:58 1116
原创 c/c++基础(十九) 友元
概念的东西不讲了,直接上代码:1.友元函数:Point.类的声明与定义:#pragma once#ifndef _POINT_H#define _POINT_Hclass Point{ public: void getXY(); friend double distanceXY(Point &a,Point &b); public: Point(double
2014-11-30 22:07:12 802
转载 c/c++基础(十八) #pragma pack
程序编译器对结构的存储的特殊处理确实提高CPU存储变量的速度,但是有时候也带来了一些麻烦,我们也屏蔽掉变量默认的对齐方式,自己可以设定变量的对齐方式。编译器中提供了#pragma pack(n)来设定变量以n字节对齐方式。n字节对齐就是说变量存放的起始地址的偏移量有两种情况:第一、如果n大于等于该变量所占用的字节数,那么偏移量必须满足默认的对齐方式,第二、如果n小于该变量的类型所占用的字节
2014-11-27 10:46:51 893
转载 c/c++基础(十四) 初步认识gcc
注意:本文可能会让你失望,如果你有下列疑问的话:为什么要在终端输命令啊? GCC 是什么东西,怎么在菜单中找不到? GCC 不能有像 VC 那样的窗口吗?…… 那么你真正想要了解的可能是 anjuta,kdevelop,geany,code blocks,eclipse,netbeans 等 IDE 集成开发环境。即使在这种情况下,由于 GCC 是以上 IDE 的後台的编译器,本文仍值得你稍作
2014-11-24 10:50:23 658
转载 c/c++基础(十二) 混合编程
extern “C”在C++环境下使用C函数的时候,常常会出现编译器无法找到obj模块中的C函数定义,从而导致链接失败的情况,应该如何解决这种情况呢?答案与分析:C++语言在编译的时候为了解决函数的多态问题,会将函数名和参数联合起来生成一个中间的函数名称,而C语言则不会,因此会造成链接时找不到对应函数的情况,此时C函数就需要用extern “C”进行链接指定,这告诉编译
2014-11-20 17:10:32 853
原创 c/c++基础(十) c中内部函数和外部函数
函数本质上是全局的,因为一个函数要被另外的函数调用,也可以指定函数不能被其他文件调用。根据能否被其他源文件调用,将函数区分为内部和外部函数。
2014-11-16 21:17:49 1595
android 用三张图片实现七个音量等级的录音效果
2013-09-30
单通道多APP Push系统Demo
2013-08-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人