隔壁老王

Jack's Blog

Windows多网卡环境接收组播包

跨过千山万水,踏遍海角天涯--I got it!

说明:本文仅针对IPv4 局域网发现技术有很多,常用组播(或称为多播):一台设备发送组播包,其他设备加入组播组,接收到组播包时即可知晓发送端IP,接收端回应约定数据即可让发送端也得知这些接收端的IP。 组播地址与端口号 IPv4的D类地址(224.0.0.0至239.255.255.255)是IPv4多播地址。D类地址的低28位构成多播组ID(group ID),整个32位地址...

使用Google开源库breakpad实现错误报告功能(Windows环境)

Google大法好

Windows环境下以前使用的CrashRpt1403错误报告系统出了点问题,问题上传端口(80)被微信服务器测试环境占用了,索性使用breakpad更新之。 目录 环境搭建 下载 编译 部署 生成sym并上传 windows-publish lin...

使用Google开源库breakpad实现错误报告功能

Google大法好

前阵子写的微信公众号后台服务器自动崩溃重启了一次,看日志没任何头绪,看来需要core dump。 但是搜索一阵子发现,这玩意真难用,要ulimit -c unlimited后才会生成dump。又搜索一番,发现Google出品的breakpad,谷歌出品,必属精品,就它了! 按照官方教程,下载源码 git clone https://chromium.googlesource.co...

Makefile要点

那些年我们一起踩过的Makefile大坑

1.不能用~表示home路径,可以用$HOME代替 2.$(CXX) $(LDFLAGS) -o $(EXEC) $^ $(INCLUDEDIR) $(LIBDIR) 这种写法没问题,但是把$(INCLUDEDIR) $(LIBDIR)放到-o前面就会出现link失败,wtf

Mutable Lambda与带有状态的(Stateful)Function Object

天干物燥,小心火烛

众所周知lanmbda值捕获有2种方式:by reference, by value,前者可以对原对象进行修改,后者不能。还有一种方式,声明lambda为mutable,以by value方式捕获对象,但在这个lambda定义的函数对象内,有权利涂写传入的值。例如: int id = 0; auto f = [id]() mutable { std::cout << "id: ...