- 博客(141)
- 资源 (5)
- 收藏
- 关注

原创 自传
吾乃荆楚人士也,生于癸酉仲秋,时年计生正严,罚两猪乃降生。自幼留守,虽顽劣亦好学,每放学玩耍,必先完成作业。故小初九年间,名列前茅,师友皆爱之,可谓无忧无虑,无拘无束。及高中,偏理不喜文,求解方程得心应手,默写单词叫苦不堪。故高考以失利,报志愿于湖大,读电信之专业。几沉迷于游戏不可自拔,幸相见恨晚于编程,每每废寝忘食,不晓昼夜,终投身于码农。初来乍到至广州白云,公司名曰安居宝,起步于楼...
2020-04-30 15:51:15
1761
14

原创 c++编写HTTP API服务端/客户端最简单的库,没有之一
libhv是c++编写HTTP API 服务端/客户端最简单的库,没有之一具有以下特性:跨平台(Windows, Linux, Mac)支持RESTful支持application/json、application/x-www-form-urlencoded、multipart/form-data内置web service文件服务和indexof service目录服务libhv简...
2020-01-20 19:44:51
9033
11

原创 libhv每日一学
文章目录libhv简介libhv应用程序框架libhv事件循环使用入门libhv日志模块介绍libhv如何实现跨平台的libhv中的宏艺术c语言如何实现c++的继承libevent、libev、libuv、libhv、boost.asio、poco、muduo七种echo-server实现对比libhv简介libhv是一个跨平台的类似libevent、libev、libuv的异步事件驱动库,但...
2020-01-09 11:37:10
9178
5

原创 Qt实战--多画面播放器项目
多画面播放器需求分析做一个类似VLC的播放器,能播放本地媒体文件、捕获设备、网络流;界面要求多画面监控网格,可自由切换多画面风格;概要设计使用Qt实现界面;使用OpenCV的VideoCapture获取视频帧;使用OpenGL渲染视频帧;详细设计界面设计截图编码实现编码部分我们放在后面章节分解,先贴出完整的项目github地址,欢迎clone和...
2018-06-21 18:00:33
7100
35

原创 ubuntu开发环境
安装1、安装VirtualBox或者VMWare 2、前往http://releases.ubuntu.com/下载对应的iso镜像文件 3、安装ubuntu,建议英文安装,这样home目录下的路径都是英文的VirtualBox设置共享文件夹1、VirtualBox添加一个固定分配的共享文件夹share,不要选择自动挂载 2、启动ubuntu,在VirtualBox设备菜单中...
2017-06-13 18:44:59
726
原创 纪念libhv上github trending
2020年11月15日,libhv上了github trending c语言榜第一名。特作此文以纪念。文章目录libhv为何物libhv发展历程libhv的定位libhv和libevent、libev、libuv有什么不同libhv后续规划更多参考资料libhv为何物libhv是一个类似于libevent、libev、libuv的跨平台网络库,提供了更简单的接口和更丰富的协议。详细介绍见项目README项目地址:https://github.com/ithewei/libhv.git码云镜像:ht
2020-11-15 15:25:15
679
2
原创 如何看待双非院校本科生,十面字节跳动,最终pass
最近,有同学留言想看字节跳动十面面经,今天它来了。面试流程面试前面试中面试后一面卧龙出山二面一战成名三面举世皆惊四面斩戟沉沙(BGM:凉凉)五面峰回路转六面这个技术官有点6七面我们聊聊人生吧八面来自太平洋彼岸的问候九面是时候展现真正的技术了十面取得真经(BMG:好嗨哟,感觉人生到达了颠峰)面试流程面试前“好呢,安排”,每轮面试前会有hr和你沟通时间,以短信和邮件通知,面试方式为牛客网视频链接。面试中自我介绍(3~5分钟)问项目问基础知识手写代码题(15
2020-10-24 22:33:23
481
原创 libhv FAQ
libhv是一个跨平台的类似libevent、libev、libuv的异步IO事件循环库,但提供了更加简单的API接口和更加丰富的协议(包括http、ftp、smtp、dns、icmp等)。libhv已广泛实用在公司的IOT平台、http API服务之中,正确性、稳定性、可扩展性、性能都有保证,完全开源,请放心使用。项目地址:https://github.com/ithewei/libhv.git码云镜像:https://gitee.com/ithewei/libhv.gitQQ技术交流群:7393
2020-07-30 23:15:19
1909
4
原创 nginx搭建流媒体服务器
nginx搭建流媒体服务器拉取代码仓库git clone https://github.com/nginx/nginx.gitgit clone https://github.com/arut/nginx-rtmp-module.git编译安装cd nginxauto/configure --with-http_ssl_module --with-http_mp4_module --with-http_flv_module --add-module=../nginx-rtmp-modulem
2020-07-02 18:16:15
242
原创 国产开源库libhv为何能被awesome-c和awesome-cpp收录
近日,国产开源库libhv为awesome-c所收录,让我们看一下这个异军突起的libhv库究竟有何出色之处。文章目录libhv简介比libevent、libuv更简单的API接口libhv提供的httpd性能媲美nginxlibhv是c++编写HTTP API服务端/客户端最简单的库跨平台libhv模块划分清晰,代码可读性高,值得初学者学习数据结构baseutilseventiowatcher...
2020-03-17 14:58:25
3024
转载 C++流行的开源框架和库
C++ 资源大全中文版我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理。awesome-cpp 就是 fffaraz 发起维护的 C++ 资源列表,内容包括:标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等。Awesome 系列虽然挺全,但基本只对收录的资源做了极为简要的介绍,如果有更详细的中文介绍,对相应开发者的帮助会更...
2020-03-05 01:39:25
1974
原创 开发工具清单
最近因为新换了工作,工具需要重新安装,这是一个很耗时的过程,通常网速慢、电脑差的话一天都没法完成,安装过程中还可能出现些许问题安装Windows操作系统使用U盘启动盘,设置BIOS从U盘启动,安装Win7 SP1专业版,Win7一定要安装SP1,VS2012以上都需要SP1以上系统,从系统之家官网上下了个激活工具成功激活成正版分区助手自带的分区太弱了,最好下个分区助手 我...
2020-02-24 15:27:31
1184
原创 libhv接口手册
libhv是一个跨平台的类似libevent、libev、libuv的异步事件驱动库,但提供了更加接近原生的API接口和更加丰富的协议。libhv已广泛实用在公司的IOT平台、http API服务之中,正确性、稳定性、可扩展性、性能都有保证,完全开源,请放心使用。项目地址:https://github.com/ithewei/libhv.git码云镜像:https://gitee.com/i...
2020-01-14 17:28:46
5871
2
转载 grpc gitee镜像编译
git clone https://gitee.com/githubplus/grpc.gitcd grpcgit taggit checkout v1.20.0修改.gitmodules文件,替换其中的github源为gitee源[submodule "third_party/zlib"] path = third_party/zlib url = https://gitee.c...
2019-12-18 18:47:24
1140
原创 gettext 多语言翻译
// myapp.c#include <stdio.h>#include <locale.h>#include <libintl.h>#define _(str) gettext(str)#define TEXT_DOMAIN "myapp"int main() { setlocale(LC_ALL, ""); bindtex...
2019-12-13 15:55:30
468
转载 VS2008 ~ VS2019下载地址
VS2005 Professional 官方90天试用版英文版:http://download.microsoft.com/download/e/0/4/e04de840-8f6b-4fe5-ac3d-d3ad8e4c2443/En_vs_2005_Pro_90_Trial.img中文版:http://download.microsoft.com/download/5/c/2/5c2840fd...
2019-10-10 18:07:21
1323
原创 跨平台ls/dir实现
unix平台使用 opendir -> readdir、stat-> closedirwindows平台使用FindFirstFile -> FindNextFile -> FindClose#ifdef _WIN32#include <windows.h>#include <io.h>#else#include <dirent.h...
2019-08-22 18:30:48
401
1
原创 镜像收集
中科院开源软件协会:www.opencas.org网易开源镜像站:http://mirrors.163.com/搜狐开源镜像站:http://mirrors.sohu.com/浙江大学开源软件镜像站:http://mirrors.zju.edu.cn北京理工大学开源软件镜像站:http://mirror.bit.edu.cn华中科技大学开源软件镜像站:http://mirrors.hus...
2019-08-07 15:10:22
236
原创 IOCP踩坑
IOCP函数创建IOCP句柄和关联套接字到IOCP句柄,都是通过CreateIoCompletionPort创建IOCP句柄HANDLE iocp = CreateIoCompletionPort(INVALID_HANDLE_VALUE, NULL, 0, 0);关联套接字到IOCP句柄CreateIoCompletionPort((HANDLE)fd, iocp, 0, 0);...
2019-07-31 18:01:42
497
原创 nginx交叉编译
nginx源码没有使用automake、autoconf、libtools这一套标准生成Makefile文件工具,而是自己写了一套脚本,位于源码auto目录下,使用auto/configure生成Makefile在目标平台机器上编译是没有问题的,但交叉编译时因为无法执行目标平台的可执行程序,导致configure报错。错误记录如下:1、checking for C compiler ......
2019-07-15 15:09:13
1008
1
原创 linux kernel调试
文章目录kernelbusyboxqemugdblinux启动流程POST-->BIOS-->MBR-->grub-->kernel-->initrd-->sbin/initkernel以linux-2.6.39内核版本为例:// 源码下载wget https://mirror.tuna.tsinghua.edu.cn/kernel/v2.6/li...
2019-06-03 20:18:09
813
1
原创 一键生成项目脚本
#!/bin/bashmkdir -p include lib src bin doc etc 3rd/include 3rd/lib disttouch README.md BUILD.md RELEASE.md Makefile .gitignoregit init# personalgit submodule add https://github.com/ithewei/hw....
2019-04-12 19:19:53
675
1
原创 交叉编译工具链设置环境变量脚本
#!/bin/bashprint_help() {cat <<EOFUsage: commandcommand: export cross_compiler unsetexample: source ./toolchain.sh export arm-linux-androideabi source ./toolchain.sh unse...
2019-04-12 19:16:22
1025
原创 linux虚拟机扩展磁盘
diskpartlist disklist volumeselect vdisk file="F:\ubuntu14.04.vhd"expand vdisk maximum=102400exitexpand 单位默认为MB, 102400MB=100GBsudo fdisk -lsudo fdisk /dev/sdampd3np3wqsudo reboot no...
2019-04-01 19:34:12
2125
1
原创 C语言跨平台获取ip、mac
C语言跨平台获取ip、macC语言获取ip、mac地址等信息一直没有一个跨平台的接口,之前通过gethostname、gethostbyname尝试,却只能得到127.0.0.1 localhost的ip地址,不得不自己封装一个,Windows、unix平台下分别实现在Windows平台下使用IPHlpApi.h提供的GetAdaptersAddresses、GetAdaptersInfo...
2019-02-20 18:53:12
1264
3
原创 Makefile模板
具体Makefile语法就不多说了,请看源码就明白了######################configure################### OS=Windows,Linux,Android# ARCH=x86,x86_64,arm,aarch64# CC# CXX# CPPFLAGS += $(addprefix -D, $(DEFINES))# CPPFLAGS +=...
2019-02-12 19:44:50
815
原创 nginx学习笔记--main模板
文章目录main流程设置进程标题解析命令行pid文件信号控制master-worker模型完整的main模板main流程保存命令行解析命令行解析配置文件master进程创建多个worker进程,循环处理信号worker进程循环处理事件和定时器设置进程标题nginx在unix系统中能设置进程标题,这是一个很酷炫的功能,看看是怎么实现的呢#ifdef __unix__/* *...
2019-02-12 19:27:50
420
原创 那些年踩过的坑
文章目录mingw库在VS下的使用mingw库在VS下的使用LDFLAGS += -static-libgcc -static-libstdc++LDFLAGS += -lstdc++ -lpthreadLDFLAGS += -Wl,--out-implib,xxx.lib,--output-def,xxx.def$(CXX) $(CXXFLAGS) $^ -o $@.dll $(LDF...
2019-01-09 11:43:29
456
1
原创 Qt实战--基于FFmpeg的视频引擎实现类
FFmpeg搞音视频开发的基本都会接触到FFmpeg这个库,支持几乎所有的音视频编解码格式。相对于上节我们用OpenCV实现的获取视频帧,FFmpeg对底层的控制粒度更细,有利于我们后续开发,精准控制编解码格式,获取码流信息,实现进度调整等;FFmpeg编译或下载教程网上很多,在此就不介绍了。在此主要贴出一张解码流程图:HFFPlayer#include "hffplayer.h"#...
2018-09-28 18:44:51
1796
4
原创 c++风格指南
c++style指南参考[google c++风格指南]https://zh-google-styleguide.readthedocs.io/en/latest/google-cpp-styleguide/代码示例#ifndef PROJECT_PATH_FILE_H#define PROJECT_PATH_FILE_H// 源文件中首先包含对应头文件// #include &amp;quot;对应...
2018-09-26 14:56:40
525
原创 c++11实现的线程池
HThreadPool#ifndef H_THREAD_POOL_H#define H_THREAD_POOL_H#include &lt;vector&gt;#include &lt;thread&gt;#include &lt;queue&gt;#include &lt;functional&gt;#include &
2018-09-04 19:22:22
480
原创 Qt实战--基于OpenCV的VideoCapture实现视频引擎类
HVideoCapture上一节中我们给出了播放引擎接口类HVideoPlayer,下面我们给出基于OpenCV的VideoCapture类实现的播放引擎实现类HVideoCaptureHVideoCapture首先播放引擎类从媒体源中获取帧,解码,push到缓存区等工作我们放到另外一个线程中做,以免阻塞GUI线程,为此HVideoPlayer多重继承自HVideoP...
2018-09-03 12:34:26
2096
原创 Qt实战--视频引擎接口类HVideoPlayer
HVideoPlayer接口功能定义代码HMediaHFrameHFrameBufHBuf、HRingBufHVideoPlayer接口功能设置媒体源HMedia开始start、停止stop、暂停pause、继续resume视频帧HFrame的push、pop定义代码#ifndef HVIDEOPLAYER_H#define HV...
2018-09-03 11:31:38
1063
原创 dll导出def和lib文件
在Windows下编程的同学,可能都知道可以使用Depends这个工具查看dll依赖项和导出符号, 却很少知道在命令行下,由两个更好用的命令,分别是dumpbin和lib,这是VS安装目录下的两个程序。dumpbin用法: DUMPBIN [选项] [文件] 选项: /ALL /ARCHIVEMEMBERS /CLRHEADER /DEPENDENTS ...
2018-08-16 15:46:11
1448
2
原创 gRPC
gRPCgRPCRPC简介编译TestCase参考资料RPCRPC(Remote Procedure Call Protocol)–远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。R...
2018-08-08 20:01:26
5061
2
原创 protobuf
protobufprotobuf优点编译安装syntaxbasic字段修饰符字段类型varintmessage存储格式生成代码基类::google::protobuf::Message序列化反序列化getter、setter- clear_field():重置字段- mutable_filed():返回字段指针,用于修改- filed_size(...
2018-08-08 12:14:11
1972
原创 c接口跨平台头文件模板
源码模板说明防止头文件重复包含Windows下导出dll说明调用约定typedef struct字节对齐源码模板#ifndef XXX_H#define XXX_H#ifdef _WIN32 #if defined(XXX_STATIC) #define DLL_API #else #if define...
2018-08-01 14:13:34
670
原创 Windows重定向
System32与SysWow64重定向System32与SysWow64在C:\Windows目录下,存在System32和SysWOW64两个文件夹,而让人迷惑的是:System32文件夹下存放的是64位DLLSysWOW64文件夹下存放的是32位DLL按照文件夹表面意思,System32应该存放32位dll,SysWoW64应该存放64位dll,...
2018-08-01 12:06:35
2374
原创 FFmpeg编译with NVIDIA硬件加速
FFmpeg编译with NVDIA硬件加速FFmpeg编译with NVDIA硬件加速安装NVIDIA显卡驱动下载对应显卡型号驱动卸载旧的驱动安装驱动安装CUDA安装NVIDIA VIDEO CODEC SDK编译FFmpeg参考资料安装NVIDIA显卡驱动下载对应显卡型号驱动lspci | grep VGAhttps://www....
2018-07-31 15:11:09
2588
原创 Qt--多语言翻译
Qt使用lupdate工具导出ts文件来记录需要翻译的字本信息,经过翻译后,再使用lrelease工具生成qm文件,然后在程序中加载qm文件的方式来实现多语言。ts文件格式ts文件是xml格式的文件文件,格式如下所示&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;!DOCTYPE TS&gt;&
2018-07-27 15:52:17
4594
HPlayer-master.zip
2019-11-22
sourceinsight4破解版
2018-02-01
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人 TA的粉丝