6 踏莎行hyx

尚未进行身份认证

疏影横斜水清浅,暗香浮动月黄昏。

等级
TA的排名 2k+

python脚本编程:监控指定进程的cpu和内存使用率

为了测试某个服务的稳定性,通常需要在服务长时间运行的情况下,监控其资源消耗情况,比如cpu和内存使用这里借助python的psutil这个包可以很方便的监控指定进程号(PID)的cpu和内存使用情况代码process_monitor.pyimport sysimport timeimport psutil# get pid from argsif len(sys.argv) &l...

2019-10-22 18:05:30

数值分析C++:统计(均值/方差/偏度/峰度),积分,微分,蒙特卡罗

用C++实现几个简单的数值分析计算,以便深入理解计算机在求解代数问题的过程原理以下主要针对普通实数,以及一元代数统计算数平均值几何平均值方差偏度峰度积分求解定积分的一般数学描述式但是由于原函数一般比较难求,用计算机处理起来可以用离散数值方法来计算近似trapzoid方法simpson方法其他还有两种分别是co...

2019-10-21 15:29:37

cocos2dx实例开发之经典坦克

小时候红白机上玩的的经典90坦克,看起来简单,做起来其实有点复杂,这里用原版素材还原了一个简版预览工程结构游戏架构包括场景:欢迎界面,主菜单游戏场景步骤菜单场景对于图片,音乐,动画提前做缓存,提高后面使用效率//预加载资源(暂且使用同步模式)SpriteFrameCache::getInstance()->addSpriteFramesWithFile("i...

2019-09-28 18:39:45

cocos2dx实例开发之飞机大战

曾经,微信里面可以玩一个打飞机的小游戏,很有趣,后来又没有了,这里基于原版素材写了一个高仿微信打飞机的小游戏预览工程结构环境Mac os Mojavexcode 7.0cocos2dx 3.17代码目录游戏架构主要包括以下场景主菜单游戏(天空、玩家、敌机、子弹、道具)步骤菜单场景游戏主菜单界面,进入游戏的入口界面bool MainMenuScene::i...

2019-08-10 12:30:25

优雅地用C++发邮件

这里是一个基于curl库写的C++发邮件的轮子,随取随用支持收件人、抄送人、富文本、附件代码https://github.com/tashaxing/cpp_email目录结构cpp_email└── deps └── curl└── src ├── email_sender.cpp ├── email_sender.h └── main.cpp其中:...

2019-07-07 15:38:19

linux下深度学习框架tensorflow2.0的编译和C++接口使用

谷歌发布了tensorflow2.0后带来全新的使用体验和深度学习实践模式,这里基于新版本进行编译,并使用其C++接口编写示例。环境本文只针对linux系统(windows下尝试过多次后未成功,放弃)ubuntu14.04gcc4.8.5cmake3.10.2编译目的是编译出tensorflow的动态链接库以及准备好tensorflow第三方依赖库安装bazeltensorf...

2019-06-15 00:02:11

一个小巧的rpc通信组件(C++和python)

C++的网络库一般都很重,这里基于zmq这个高性能的消息中间件用C++和python写了一个客户端/服务器互相异步通信的rpc组件代码github:https://github.com/tashaxing/LittleRpc其中:用的是zmq的router和dealer异步模式支持请求/应答和推送src/cpp目录的little_rpc.h和little_rpc.cpp是C++实现的...

2019-06-08 13:51:32

机器学习库dlib的python包编译和使用(windows和linux)

dlib库有对应的python扩展接口包,安装后就可以用python来调用ldib库写程序。获取从官网dlib官网或者github地址dlib源码下载最新源码这里用的是dlib-19.17安装选择从源码编译安装(python2和python3都行)保险起见,在编译安装之前最好打开dlib-19.17/dlib/CMakeLists.txt,显示地设置不使用blas、lapack、cud...

2019-05-30 12:06:34

机器学习库dlib的C++编译和使用(windows和linux)

dlib是一个C++编写的工具集,相比于深度学习库而言,dlib内部更多的是封装了很多传统机器学习计算函数,例如回归分析、支撑向量机、聚类,开箱即用,对外提供了C++和python两种接口。本文通过一个C++调用dlib的demo来体验一下dlib这个强大的工具库。获取从官网dlib官网或者github地址dlib源码下载最新源码这里用的是dlib-19.17编译windows和lin...

2019-05-28 16:59:57

C++11实现简易定时器

定时器timer是多线程编程中经常设计到的工具类定时器的原理其实很简单:创建一个新线程在那个线程里等待等待指定时长后后做任务这里用C++11实现了一个简单易用的定时器,包含两种模式:周期性定时任务执行单次延时任务执行timer.hpp#ifndef_TIMER_H_#define_TIMER_H_#include<functional>#incl...

2019-05-05 23:15:33

C++11实现线程池

什么是线程池线程池(threadpool)是一种线程使用模式。线程过多或者频繁创建和销毁线程会带来调度开销,进而影响缓存局部性和整体性能。而线程池维护着多个线程,等待着管理器分配可并发执行的任务。这避免了在处理短时间任务时创建与销毁线程的代价,以及保证了线程的可复用性。线程池不仅能够保证内核的充分利用,还能防止过分调度。线程池原理预先创建预定数量的线程,将多个任务加入到任务队列。类似于生产...

2019-05-05 21:59:05

C++内存池的简单原理及实现

为什么要用内存池C++程序默认的内存管理(new,delete,malloc,free)会频繁地在堆上分配和释放内存,导致性能的损失,产生大量的内存碎片,降低内存的利用率。默认的内存管理因为被设计的比较通用,所以在性能上并不能做到极致。因此,很多时候需要根据业务需求设计专用内存管理器,便于针对特定数据结构和使用场合的内存管理,比如:内存池。内存池原理内存池的思想是,在真正使用内存之前,预先...

2019-05-05 18:11:03

C++执行shell命令

在linux系统下,用C++程序执行shell命令有多种方式管道方式#include<iostream>#include<unistd.h>#include<sys/types.h>intmain(){ FILE*pp=popen("cd/xxxx&&ls-l","r");//buildpipe i...

2019-04-11 17:28:22

C++加载动态链接库(cmake生成,隐式链接,显示链接)

C++程序在运行时有两种方式加载动态连接库:隐式链接和显式链接。加载动态库文件就是将动态库中的代码逻辑映射到用户进程地址空间,就在程序执行的时候进行函数调用。隐式链接隐式链接是在程序开始执行时就将动态库文件加载到应用程序当中,需要在程序构建编译阶段就指定好,这种方式比较常用unix的动态库只有.so文件,使用时需要配置工程:包含库头文件包含库.so文件地址链接库名称(多种方式)...

2019-02-22 11:48:40

C++使用libcurl实现ftp客户端(上传、下载、进度、断点续传)

.├──CMakeLists.txt└──src└──main.cppproject(ftp_client)cmake_minimum_required(VERSION2.8)set(CMAKE_CXX_FLAGS"${CMAKE_CXX_FLAGS}-g-std=c++11-W")include_directories(/home/user...

2018-11-08 22:21:37

Qt开发:列表QTableView列添加Button

在列表里面添加任何其他组件,比如Button,一般都需要继承delegate,然后继承后重绘,但是这样过于复杂,这里有一个简单的方法,理论上可以扩展到任何组件以单个window里面添加到表格为例代码mainwindow.h#ifndefMAINWINDOW_H#defineMAINWINDOW_H#include<QMainWindow>classMainWi...

2018-10-26 09:53:13

Qt开发:跨窗口信号槽通信

多窗口通信,如果是窗口类对象之间互相包含,则可以直接开放public接口调用,不过,很多情况下主窗口和子窗口之间要做到异步消息通信,就必须依赖到跨窗口的信号槽,以下是一个简单的示例。母窗口mainwindow.h#ifndefMAINWINDOW_H#defineMAINWINDOW_H#include<QMainWindow>#include<QLabel...

2018-10-25 21:56:33

C++实现utf8和gbk编码字符串互相转换

C++实现utf8和gbk编码字符串互相转换,可跨平台使用main.cpp#include<iostream>#include<stdio.h>#include<stdlib.h>#include<locale.h>#include&am

2018-10-20 19:31:19

C++共享内存实现(windows和linux)

共享内存是一种进程间通信的方式,速度比较快基本原理:以页面为单位,将一个普通文件映射到内存中,达到共享内存和节约内存的目的,通常在需要对文件进行频繁读写时使用,这样用内存读写取代I/O读写,以获得较高的性能windows和linux都提供了原生的系统级的C++接口,可以将文件映射到内存windows中使用CreateFileMappinglinux使用mmap代码示例这里...

2018-08-27 16:13:13

TA-Lib C++金融技术分析库使用初体验

TA-Lib是一个用于金融技术分析的C++库,可以用来计算MACD,动量,移动均线等常用指标等本文对TA-Lib做了一个简单的使用初体验源码下载地址:ta-lib注意这里面有多个源码包,选择msvc这个版本(windows和linux编译都用这个版本的源码)下载后源码目录根目录ta-lib和ta-lib/c编译使用TA-Lib需要先编译出对应链接库,支...

2018-08-08 19:00:25

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。