自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Poison_biting的专栏

垃圾中的战斗机

  • 博客(32)
  • 收藏
  • 关注

原创 采用Redis统计客户端在线用户——从redis-server获取数据展示到html页面

描述:在客户端对redis-server写数据,这边博客介绍把数据统计成曲线图,更直观的统计出来。后端采用python读取redis-server数据(用hgetall(key)函数,这儿的key是按月获取,获取一整月的数据。例如“2018-04”)采用python的flask框架,实现交互;html页面采用ajax接受后台json数据;曲线图利用echarts绘制。需用的工具:安装fla...

2018-04-08 15:17:27 2280

转载 C/C++代码跨平台编译注意问题

转载自:请点击怎样才能实现一套C/C++代码跨平台编译呢?应该注意哪些问题,下面对其进行总结。 平台包括: windows7(32bit and 64bit), windows 8.1(32bit and 64bit, desktop, app store, metro ),windows phone, Mac(32bit and 64bit), iOS(32bit and 64bit...

2018-12-29 19:09:55 1348

原创 Activemq-cpp编译静态库

嵌入式编译ActiveMQ-CPP静态库的方法小结背景步骤(按下面顺序编译)背景由于项目需求,需要给嵌入式设备编译一个ActiveMQ-CPP的静态库,必须需要的库有(用的都是比较老的库):cppunit-1.12.1 下载地址apr-1.4.8 下载地址apr-util-1.5.3 下载地址openssl-1.0.1e 下载地址activemq-cpp-library-3...

2018-11-28 18:41:10 513

原创 ActiveMQ入门分享

ActiveMQ入门分享背景描述:因业务需求,需要用到ActiveMQ消息中间件,以前没接触过ActiveMQ,故而记录下来,若有错,请指教!(客户端语言是采用C++开发)简述:网上关于ActiveMQ的介绍(包括从协议、消息模型queue/topic、持久化存储、集群、监控等都做了一些介绍,可以去搜搜了解一下,提取自己需要的信息)。把所有的消息放到消息中间件,打破了常规的...

2018-08-12 22:19:52 336

原创 采用Redis统计客户端在线用户——客户端(windows)篇

描述:为了知道在线用户数,计算客户端奔溃率(方便我们知道当前客户端的稳定性),在客户端加入统计功能模块。声明:本人是第一次接触Redis,若有错误之处,还望各位大佬指教!安装Redis以及编译hiredis.lib安装Redis很简单的,去这下载之后可安装:点击这里编译hiredis.lib:由于项目编译环境比较老,是VS2010,可在这里下载进行编译:Redis2.6,...

2018-04-04 17:53:54 522

原创 C++编程之SOUI库listview学习(加入单选按钮)

前言:在项目中碰到问题,要求用到listview显示数据,前面还需要提供按钮进行对某行数据选中(需求样式如下图:通过和UI协商,我才用了check控件)大家都知道多个check在一起是独立的,不受影响,那么怎样使按钮可以支持单选呢?先看看listview的xml文件:

2017-12-06 16:44:39 1659

原创 初学BOOST库,基于Tcp/Ip简易的问题回答

简述:初学BOOST库之Asio网络库,写一个基于TCP/IP网络协议的问题回答。一端是服务端(包含应答监听以及数据存储);另一端为客户端运行起来之后服务器会响应,然后回答问题。(数据库是用ODBC API进行操作的)1、服务端代码:#include#include#include#include #include#include #include #include

2017-08-09 15:04:13 439

原创 linux下对进程出错退出的重启

简述:linux下面如果对异常退出或者奔溃的程序可以重启,带病运行肯定很不安全,但有时候并不失为一种短时间内有效解决的措施。主要是根据进程status、退出码以及系统的信号实现监督到是哪一种退出。练习模仿写的,望大神指教!!!(ps:每三次重启可自动发送邮件,也可查看CPU利用率)代码如下:1:主程序代码(主要监督进程出错进行重启   watchdog.cpp)#include "cpuu

2017-08-09 14:51:16 1491

转载 C++11实现自旋锁

自旋锁(Spinlock)自旋锁是一种用于保护多线程共享资源的锁,与一般的互斥锁(mutex)不同之处在于当自旋锁尝试获取锁的所有权时会以忙等待(busy waiting)的形式不断的循环检查锁是否可用。在多处理器环境中对持有锁时间较短的程序来说使用自旋锁代替一般的互斥锁往往能提高程序的性能。自旋锁的原理自旋锁有两种基本状态:锁定状态锁定状态又称不可用状态,当自旋锁被某个线

2017-08-09 14:16:53 1636

转载 linux系统基础知识——面试

转自:请点击这里1、进程管理1、进程是具有独立功能程序在某个数据集合上的一次执行过程。线程是进程内的一个执行实体或执行单元。进程和线程的区别:(a)不同进程的地址空间是独立的,而同一进程内的线程共享同一地址空间。一个进程的线程在另一个进程内是不可见的。(b) 在引入线程的操作系统中,进程是资源分配和调度的单位,线程是处理机调度和分配的单位,资源是分配给进

2017-08-08 17:59:10 445

转载 C++中的new/delete与operator new/operator delete

原文:点击打开链接new operator/delete operator就是new和delete操作符,而operator new/operator delete是函数。new operator(1)调用operator new分配足够的空间,并调用相关对象的构造函数(2)不可以被重载operator new(1)只分配所要求的空间,不调用相关对象的构造函数。

2017-03-22 17:21:07 305

原创 ODBC API开发——初学

1、简介ODBC:随着C/S结构体系在互联网运用广泛,不同数据库访问成了突出问题。在没有ODBC之前,不同的数据库(SQL server、MySQL、Oracle等)采用的标准不同,但当前绝大部分数据库全部或部分地遵从关系数据库概念 ,有了这些共同点,ODBC应用而生,它没有太过复杂,ODBC 是基于结构化查询语言(SQL),使用 SQL 可大大简 化其应用程序设计接口(API) 。只要数

2017-03-21 18:09:59 1854

原创 文件压缩-基于哈弗曼树

简介:基于哈夫曼编码的方式对文件进行压缩,并且对压缩文件可以解压开发环境: vs2013项目概述:        1.压缩            a.读取文件,将每个字符,该字符出现的次数和权值构成哈夫曼树            b.哈夫曼树是利用小堆构成,字符出现次数少的节点指针存在堆顶,出现次数多的在堆底            c.每次取堆顶的两

2016-09-29 22:53:23 409

原创 并查集——小米笔试题

并查集简介:并查集(Union-find Sets)是一种非常精巧而实用的数据结构,它主要用于处理一些不相交集合的合并问题。一些常见的用途有求连通子图、求最小生成树的 Kruskal 算法和求最近公共祖先(Least Common Ancestors, LCA)等。使用并查集时,首先会存在一组不相交的动态集合 S={S1,S2,⋯,Sk}S={S1,S2,⋯,Sk},一般都会使用一

2016-07-09 19:34:53 694

原创 AVLTree简单实现

AVL树的性质1. 左子树和右子树的高度之差的绝对值不超过12. 树中的每个左子树和右子树都是AVL树3. 每个节点都有一个平衡因子(balance factor--bf),任一节点的平衡因子是-1,0,1。(每个节点的平衡因子等于右子树的高度减去左子树的高度 )AVL树的效率一棵AVL树有N个节点,其高度可以保持在log2N,插入/删除/查找的时间复杂度也是log2N

2016-07-09 19:18:10 392

原创 Linux常见内置命令

主要Shell内置命令:      Shell有很多内置在其源代码中的命令。这些命令是内置的,所以Shell不必到磁盘上搜索它们,执行速度因此加快。不同的Shell内置命令有所不同。bash内置命令:(1).:执行当前进程环境中的程序。同source。(2). file:dot命令从文件file中读取命令并执行。(3): 空操作,返回退出状态0。(4)alias:显示和

2016-04-17 10:32:50 1364

原创 二叉树三种遍历(递归及非递归)的实现

#include #include #include using namespace std;templatestruct TreeNode{ T _value; TreeNode* _firstChild; TreeNode* _nextBorther; };templatestruct BinaryTreeNode{ T _value; BinaryTreeNo

2016-01-12 20:59:22 364

原创 简单实现单链表

#include#include using namespace std;typedef int DataType;struct LinkNode{ DataType _data; LinkNode* _next; LinkNode(const DataType& x) :_data(x) ,_next(NULL) {}};class SList{publ

2016-01-12 20:53:29 338

原创 万年历

#includeusing namespace std;class Time{public: Time(int hour); Time(const Time& t); Time& operator=(const Time& t);private: int _hour;};class Date{public: Date (int year = 1900, int mont

2015-10-27 15:29:45 380

原创 用两个栈实现一个队列

思路:      主要抓住栈的“先进后出”和队列的“先进先出”。      s1是入栈的,s2是出栈的。入队列,直接压到s1是就行了。出队列,先把s1中的元素全部出栈压入到s2中,弹出s2中的栈顶元素;再把s2的所有元素全部压回s1中。代码实现:#includeusingnamespacestd;templateclass

2015-10-27 15:21:48 118

原创 电话本

#include#include #define NAME_LEN 20#define SEX_LEN 5#define TELE_LEN 12#define ADDR_LEN 20#define MAX_PEO 1000typedef struct Peo{ char name[NAME_LEN]; int age; char sex[SEX_LEN]; char

2015-05-19 17:27:53 385

原创 C语言判断大端小端

方法一(联合):#include union { int a; char b;}UN;int main(){ UN.a=1; if(UN.b==1) printf("小端\n"); else printf("大端\n"); return 0;}方法二:#includeint check(){ int a=1; char *p=(char *)&a;

2015-05-16 09:46:16 796

原创 比较三个字符串

#include #include void swap(char *n[], int m){ char *tmp; int i,j,k; for (i=0; i<2; i++) { k = i; for (j=i+1; j<3; j++) { if (strcmp(n[i],n[j])>0) k = j; } if (k !=

2015-04-19 22:57:30 634

转载 宏、函数、宏函数的区别

宏、函数、宏函数的区别先说宏和函数的区别:1. 宏做的是简单的字符串替换(注意是字符串的替换,不是其他类型参数的替换),而函数的参数的传递,参数是有数据类型的,可以是各种各样的类型.2. 宏的参数替换是不经计算而直接处理的,而函数调用是将实参的值传递给形参,既然说是值,自然是计算得来的.3. 宏在编译之前进行,即先用宏体替换宏名,然后再编译的,而函数显然是编译之后,在执行时,才

2015-04-13 21:52:41 409

原创 编写一个函数,将一个数字字符串转换成这个字符串对应的数字(包括正浮点数、负浮点数);函数原型:double my_atof(char *str)

#include #include double my_atof(char *str) { int flag=0; int count = 0; int ret = 1; double sum = 0; while(*str != '\0') { if(*str == '-')

2015-03-26 22:35:58 1690

原创 int ascii_to_integer(char *str); 这个字符串参数必须包含一个或者多个数字,函数应该把这些数字字符转换为整数并返回这个整数。

#includeint ascii_to_integer(char *str){ int sum=0; while(*str!='\0') { if((*str'9')||(*str==' ')) { sum = 0; str++; } if(*str='0') { sum *= 10; sum +=*str - '0';

2015-03-24 22:31:17 642

原创 计算某日是该年的第几天

#includeint leap(int a){ if(a%4==0&&a%100!=0||a%400==0) return 1; else return 0;}int number(int year,int month,int day){ int result = 0,i,j,k; int a[12]={31,28,31,30,31,30,31,31,30,31,30,

2015-03-24 13:15:59 612

原创 编写一个函数reverse_string(char * string) 实现:将参数字符串中的字符反向排列。

#include #include void swap(char *p,char *q){ char tmp = *p; *p = *q; *q = tmp;}char * reverse_string(char * string){ char *left = string; char *right= string + strlen(string)-1; while(l

2015-03-24 12:50:39 1415

原创 求最大数

#include int main(){ int a[10]; printf("请输入十个数据:\n"); for(int b=0;b<10;b++) { scanf("%d",&a[b]); } int max = a[0]; for(int i=0;i<10;++i) { if(max<=a[i]) { max=a[i]; } } printf("

2015-03-23 22:21:09 403

原创 乘法口诀

#include int main(){ int i,j; for(i=1;i<=9;i++) { for(j=1;j<=i;j++) printf("%d*%d=%d\t",i,j,i*j); printf("\n"); } }

2015-03-23 22:19:33 386

原创 unsigned int reverse_bit(unsigned int value); 这个函数的返回值吧value的二进制位模式从左到右翻转后的值

#include unsigned int reverse_bit(unsigned int value){ int a = 0; int b = 0; int ret = 0; for( a=0; a < 32; a++) { ret = ret << 1; b = value & 1; va

2015-03-23 18:39:38 629

原创 编写一个程序从标准输入读取字符,并把他们写到标准输出。除了大写字母转换成小写字母之外,其他的原样输出。

#include #include void main() { int ch; while((ch=getchar())!=EOF) if(ch>='A'&&ch<='Z') { ch+=32; putchar(ch); } else

2015-03-16 22:26:56 927

空空如也

空空如也

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

TA关注的人

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