自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 资源 (18)
  • 问答 (1)
  • 收藏
  • 关注

原创 Android http server

最近在玩Android的盒子,几十块一个,买来随便糟蹋。下面讲讲如何制作Android上的一个http server 并且可以处理post请求。思路如下1. 先找一个轻量的可以部署到Android上的库,这里不打算用native 来完成,jni那些还没玩熟,太耗时了。此外性能也不是关键点。2. 主页是个页面,上面可以放置几个按钮,并且按钮可以点击,最终在Android 后端处理2.1 了解了下ajax的,无法就是http的post请求,并且带上参数。

2024-03-12 19:26:52 1053

原创 如何给beaglebone black狗板扩容

sdimage.img是通过这个脚本最后制作出来的,具体参考genimage的帮助,自行百度。测试了一个1G的分区,可以正常,但是需要挂载,自动挂载可能还要改fstab,太麻烦了。这里调整完了,重启之后,发现分区大小已经调整了,但是df -h还是不正确,需要用resize2fs来调整下。先删除第二个分区,然后再创建,一般start sector会默认正确的,如果不正确要自己先记一下。简单点,就是用fdisk命令先删掉root分区,然后重新创建,把结尾或者size用最大。默认的分区大小已经不够了,需要调整。

2023-12-26 16:32:29 388

原创 beaglebone black狗板,交叉编译Qt5(eglfs)

备注:用系统默认配置,不要参考网上的,网上的很多都是从0开始,可能内核都版本都不对,都不带opengl es,狗板的GPU驱动,这个花费了我很长时间,最终发现默认的配置,就可以支持GPU驱动了。然后编译,出现错误大多数是因为下载不了包,用bing搜索找到放到对应的dl目录下,最终完成编译。设置这三个环境变量后,启动一个Qt的demo看看,正常应该是可以的。备注:为什么要用sdk,不直接用交叉编译工具链编译,试了,没搞成功。可能遇到的问题,虚函数定义,加上下面这个,具体也没去研究。7.解压并且设置环境变量。

2023-12-22 19:16:32 711

原创 vs code ssh 连接远程服务器错误(反复提示输入密码)

查看系统是否安装了cygwin,msys这些环境并且带了ssh。vs code 应该是从环境变量按顺序来的,所以msys或者cygwin 这些如果在PATH里面,默认就不会执行系统的ssh.exe。把msys目录下的ssh重命名下,反正也不经常用。可以通过连接的时候,提示的用户名来观察。错误的现象是:重复提示输入密码。

2023-12-14 16:37:45 406

原创 qemu + busybox + 内核实验环境搭建(2023-11)

主要是参考网上的例子,网上的一些例子可能用的busybox 老旧,编译各种问题,以及rootfs hda的方式或者ramfs的方式。备注:写个sh文件把上面的语句拷贝进去,省的来回的练输入。busybox-1.35.0 #注意网上一些老版本的busybox 可能有各种编译问题,省的麻烦就用新一点的。备注:path-to-Image-file 在arch/arm64/boot下面,Image这个文件。内核编译好,这里就能用qemu启动了,只不过没有rootfs,最终会panic。,参数的含义自行百度。

2023-11-19 20:14:24 161

原创 使用boost.mysql来操作mysql 数据库

2. boost库3. 安装本地的mysql 服务器,boost.mysql对mysql有版本要求最好8.0+,具体参考官方文档。

2023-10-26 08:46:09 628

原创 利用C++开发一个迷你的英文单词录入和测试小程序-升级版本

我们现在有了一个本地sqlite3的迷你英文单词小测试工具,需求就跟工作当中一样是不断变更的。这里虚构两个场景,并且一步一步的完成最终升级后的小demo。场景:数据不依赖本地sqlite3,需要支持远程访问,用目前的restful api来实现。

2023-10-07 09:06:10 265

原创 利用C++开发一个迷你的英文单词录入和测试小程序-增强功能

小玩具基本完成之后,在日常工作中,记录一些单词,然后定时再复习下,还真的有那么一点点用(毕竟自己做的小玩具)。在使用过程中,遇到不认识的单词,总去翻译软件翻译,然后录入中文,这样的话,太繁琐了。可以在录入英文单词的时候,自动从网上查询单词的中文含义,便于录入,或者直接协助录入。下面我们一步一步来增强小工具的功能。

2023-09-25 15:04:06 397

原创 利用C++开发一个迷你的英文单词录入和测试小程序-源码

备注:enable_if 有更优秀的concept C++ 20替代品,C++11 里面提到的any,variant,再C++17 已经被纳入了标准库。这里完全可以抛弃rapidjson ,直接用std::vector<std::vector<std::any>>> 来通吃sql query的任何结果。首先创建一个question的类,来表现测试题目,有title,有正确的答案,有候选集,也就是4个带答案的选项。接上一篇,有了数据库的查询,再把小测试的功能给补足,小程序的结构就出来了。

2023-09-20 09:45:32 317

原创 利用C++开发一个迷你的英文单词录入和测试小程序

C++ 可变参数真的很强大状态机模式,好像让程序变的更优雅一点了,至少跟过程程序设计相比。

2023-09-18 09:05:40 269

原创 关于协程函数调用co_await问题

在看到关于协程的helloworld的时候,发现微软的例子,编译运行总会抛出异常。根本感觉不到在协程函数里面调用co_await会suspend 协程函数,调用函数会继续的场景。其实winrt里面大量的函数都是返回异步操作,可以搞个http来替代SyndicationClient。main函数调用协程函数,如果协程函数suspend,main 函数是调用者,会继续运行。重写ProcessFeedAsync函数,使用http来获取请求。这样就验证了在协程函数里面挂起,调用函数会继续running。

2023-09-12 20:29:37 114

原创 会不会激发对modern c++的新兴趣

还停留在老掉牙的C++的认知上,看了一些C++11的新特性,会不会激发对C++的新兴趣?可变参数好像很厉害的样子,会节省很多手写代码,让编译器自动帮我们生成代码。任意函数包装器,搞个面向切面,代理,信手拈来。

2023-08-30 09:56:36 566 3

原创 std::function 与Queue配合起来

这里用模版,这样就根据函数的签名,定义各种各样的Queu就简单多了,这里只是演示,一般还需要一个线程,或者线程池来取里面的数据,利用条件变量来同步。这里只是简单的演示下,如何去适配函数对象,函数指针,以及成员函数。有的时候对于一些操作会排队,搞个队列,把请求丢到队列里面去,然后一个一个取出来,去执行。如果这些操作可以并发,就可以用多个线程去取队列里面的数据,典型的生产者消费者。了解了一点C++11,发现function 和容器结合起来,一个可重用的异步task就来了。然后取出来,一个一个执行。

2023-08-24 10:59:10 99 2

原创 C++11 简单的Timer

考虑到有的时候需要考察一个函数的耗时,而且精度是可控的,可以是毫秒,微妙,甚至是纳秒。了解了下chrono,可以用chrono很方便的写一个timer。备注:C++20 已经支持 std::cout<<duration这样的操作了。这里为了方便,直接把精度作为一个模版参数参数,这里应该可以用默认版本参数实现,这块还没搞清楚,暂时可以应付手上的工作,并且可以多次计时,最后一把搂出来。//构建milliseconds 精度。

2023-08-14 09:42:39 137 1

原创 std::async 使用

/上述的其实是同步执行的,即使async_function在一个新线程,因为临时变量future析构会等。结合各个方面,简单总结一个自我理解,future要持有另外一个线程的返回值,所以future的生命周期一定比async的异步长,不然不就出现空悬指针或者引用了吗?我相信这个例子可能稍微有点引导作用,这里用到了c++根据系统决策是启动新线程,还是同步执行,并且编码轻松实现了这里的并发。然后构造一个例子,make_good, 一种比较耗时的操作,并且这个操作之间是独立的。毫秒级的计时器来了。

2023-08-11 09:03:23 90

原创 std::set 交叉并补

这里只是简单的列出交的操作,具体参考std::set_xxxx相关函数,以及百度typedef struct taginfo{taginfo(const std::string _s, int _i, float _f):s(_s),ivalue(_i),fvalue(_f){}bool operator {return this->s }std::string s;

2017-03-20 15:24:10 942

原创 scrapy抓取一个电影网站信息

使用scrapy抓取ashvsash电影网站的电影信息。这里只简单的print信息,没有存储到数据库,稍加修改使能pipe,用PyMySQL或者mongdb库,过滤一下数据即可。备注:提取信息的时候有些网页会失败,需要细致调整。直接代码# -*- coding: utf-8 -*-import scrapy#打印函数,方便查看def my_print(a_map):   

2017-02-03 11:21:43 1792

原创 Ubuntu16.04 wsgi Django1.10部署问题

默认Ubuntu 16.04安装的django版本是1.8的,从django网站上了解到django已经更新到1.10了于是卸载了老版本的sudo apt remove python-django从网站上下载了1.10 whl文件,直接本地安装。参考其他网站上部署方式,如果用默认版本的1.8一般都是能成功运行的。但是升级过后会提示ImportError: No module named

2017-01-07 20:38:00 575

原创 Windows python必备网站

使用pip,以及whl安装各种python库的时候,总会出现各种依赖问题,下载超时问题。http://www.lfd.uci.edu/~gohlke/pythonlibs/值得拥有

2017-01-03 09:12:51 852

原创 windows 7 Shell_NotifyIcon 使用的问题

在windows 7上,Visual Studio 2012,只想做一个ballon提示,从网上各种百度,效果都不会,最终微软sdk的example找到了完整的例子。使用的工程是vs2005 升级到2012的,重定义宏,不然会有些定义不了#ifdef NTDDI_VERSION#undef NTDDI_VERSION#endif#define NTDDI_VERSION

2016-10-26 16:36:42 1306

原创 51单片机 精确控制舵机pwm

/*实现特定pwm 100级别舵机控制输出,其他级别也很简单,太低了可能不行前提条件:1. 舵机控制频率是 50hz2. 舵机占空比时间是0.5 - 2.5 ms算法:0.5 - 2.5 跨度是2ms (2000 us)要实现精确控制,100级别, 2ms / 100 = 20us,定时器基准时间就是20us内部计数器pwm_cnt 取值范围是25 - 12

2016-09-05 19:13:33 10566 3

原创 51单片机输出pwm波形

#define FOSC 11059200L#define T1MS (65536-FOSC/12/1000)unsigned char count_1;unsigned char count_2;unsigned char duty_cycle_1;unsigned char duty_cycle_2;sbit pwm_out_1 = P1^0;sbit pwm_

2016-08-31 13:52:51 6086

原创 如何在服务程序中监听硬件事件

主要通过RegisterDeviceNotification函数来完成,网上一般能找到都是window程序,很少缺少服务程序的例子。1. 从网上下载一个服务程序的框架。2.svcmain 函数中DEV_BROADCAST_DEVICEINTERFACE dev_broadcast_deviceinterface = {0};    dev_broadcast_devicei

2016-07-12 13:58:11 4616

原创 如何通过api来修改网卡的MTU值

主要用到了Iphlpapi.lib,函数接口请参考msdn。PIP_ADAPTER_ADDRESSES pAddresses = NULL;char *buffer = NULL;ULONG outBufLen = 0;  DWORD dwRetVal = 0;   MIB_IPINTERFACE_ROW row;NETIOAPI_API ret;GetAd

2016-07-05 10:54:35 886

原创 Visual Studio Build Events 使用脚本python

动机: 使用Visual Studio 开发一些工程的时候,如果使用的库比较多,总会有手工拷贝,压缩等时候。用脚本来处理吧。一般晚上都是执行简单的命令比如copy 和简单的if else,不是很方便。很简单直接调用脚本就可以啦。这里主要需要给脚本传递一些常见的VS环境参数。然后让脚本去处理逻辑吧。import osimport sys#python script.t

2016-05-05 13:18:03 460

原创 WinCE 6.0 Ping等程序支持。

1. WinCE BSP提供了很多的exe源码可以参考学习,正好有个项目要用到ping,默认使用的情况下,控制台和ping程序都是不支持的。解决的原理很简单,自己提取代码,编译输出exe即可。1)添加相关的items支持Catalog Items View里面选择Network Utiltes(IpConfig, Ping, Route)Shell Command Proces

2016-03-23 16:10:59 1167

原创 opencv 简单的例子

#define SHOW_IMG(img) \{ \cv::imshow(#img, img);\}cv::Scalar randomColor(const cv::RNG& rng);cv::Point get_center(cv::Rect rect){return cv::Point(rect.x + rect.width / 2, rect.y + rect.w

2016-03-06 19:30:18 1971

原创 scrapy 单脚本执行 爬去jandan无聊图的gif文件

直接创建工程麻烦,直接用一个脚本文件,python spider.py那样更简单。其实很简单,spider类派生还是跟生成的一样,只需要添加from scrapy.crawler import CrawlerProcess最后生成process对象,执行start即可import scrapyfrom scrapy.spiders import CrawlSpider, R

2016-02-23 19:49:33 672

原创 vs2005 + opencv 2.0静态链接

vs2005 静态编译opencv ,测试链接需要的库

2016-01-20 20:25:57 469

原创 MFC 简单封装word, office操作。

1.环境VS6.0,office 2003 word, excel Old(类型库文件)2.测试机器,office 2007,windows xp.使用vs6导入的类,word和excel会导致工程重定义的错误。这里用C++名字空间来解决;修改如下://msword.hnamespace word{....原来的代码}//msword.cpp...#ifde

2015-11-10 09:33:17 1784

原创 如何获取windows xp上Modem的串口号

提出问题:使用注册表HKLM\HARDWARE\DEVICEMAP可以枚举出系统的所有串口号,但是想获取那个串口是Modem的不是很方便解决方法:使用SetupAPI函数1.创建device information setHDEVINFO hDevInfo = SetupDiGetClassDevs(&usb_modem, NULL, NULL, DIGCF_PRESENT );

2015-08-14 17:20:31 1645

原创 Scrapy Shell访问jandan被拒解决方法

是用Scrapy Shell调试爬虫,测试jandan的是否发现,煎蛋网好像有简单的防爬功能。各种百度。总结一下1.start_requests(self)添加user-agent字段2.中间件方式。但是上述方式都不能在shell中奏效,调试很不方便。很简单;直接修改scrapy的user-agent默认值搞定。settings/default-setting.py246

2015-07-23 19:20:03 1521

原创 Scrapy 爬取煎蛋网妹子图版本2

import scrapyfrom scrapy.contrib.linkextractors import LinkExtractorfrom scrapy.contrib.spiders import CrawlSpider, Rulefrom myscrapys.items import imgsPipelinefrom scrapy.http import Request

2015-03-29 23:23:30 2319

原创 python scrapy 爬取妹子图的照片

主要描述在windows 上如何用scrapy抓取煎蛋网妹子图所有的图片下载。软件准备:winpython,啥都不说了,ipython很好用。安装scrapy,进入winpython 执行scrapt\env.bat。这样就可以直接pip install scrapy;注意执行的log,好像还要安装一个service_identity,具体什么功能也不清楚。以后慢慢研究。

2015-03-15 09:18:50 3203

原创 Win32 获取进程占用的内存信息

主要用到的函数GetWindowThreadProceddId(m_hWnd, &dwProcessID);HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, NULL, dwProcessID);PROCESS_MEMORY_CONTERS process_mem_counters = {0};process_mem_counter

2014-12-31 13:14:23 3087

原创 matlab 二值化;MFC 显示灰度图片方法。

1.matlab计算图片二值化后像素点数目直接求的直方图即可。clear;close all;img = imread('test.bmp');/*测试过程中发现cvSaveImage保存成jpg二值化后的文件,好像不彻底,估计压缩算法影响的。使用bmp后,查看就0,255.*/hist = imhist(img);[row, col] = find(hist>

2014-12-20 21:06:25 1507

原创 Opencv ImlImage 在MFC中显示

原理:ImlImage转成BitMAPINFO,然后调用StretchDIBits就可以了。1.OnInitDialog()m_img = cvLoadImage("test.jpg"); ASSERT(m_img != NULL);memset(&m_bitmapinfoheader, 0, sizeof(m_bitmapinfoheader));m_bitmapinfo

2014-12-19 11:41:17 728

原创 boost hash 与普通查询比较

比较hash查询与std::find算法的差异#include #include #include #include int main(){boost::unordered_set> lv;std::vector vec;boost::posix_time::ptime time_now,time_end;boost::posix_time:

2014-01-28 11:57:55 1949

原创 WinCE usb虚拟串口

1.Usb驱动程序的加载识别到USB设备插入到电脑上(姑且这么认为吧)fRet = LoadDeviceDrivers(pDev, &fLoaded);if(fRet && !fLoaded){//失败了,提示用户对话框,}1.1LoadDeviceDriversLoadUSBClient(pDev, pfLoaded, NULL);if(!*pfLoa

2013-12-20 17:00:37 1764 2

原创 ffmpeg msys编译成功后提取sdk

原因:从网上下载的ffmpeg sdk比较全,但是却不能定制,所以打算使用ffmpeg msys编译出来,自己提取sdk。1.使用msys集成开发包,(集成了很多东东),2.编译ffmpeg0.8.5,下载src,tar,./configure --enable-shared --disable-static --enable-memalign-hack --enable-debug=

2013-06-18 22:41:04 968

Android NDK Beginner‘s Guide

1. 如果你找不到很好的入门资料(NDK) 2. 如果你看了google的ndk example,想更多的了解如何进行NDK 编程的细节 3. 如何你想更深入的进行ndk 编程。 这边电子书适合你

2024-03-15

Reactive Programming with RxJava Creating Asynchronous, Event-B

Reactive Programming with RxJava Creating Asynchronous, Event-Based Applications 英文版本,一边学英语,一般学编程

2024-03-11

Reactive Streams in Java- Concurrency with RxJava, Reactor, and

Reactive Streams in Java_ Concurrency with RxJava, Reactor, and Akka Streams英文版本,一边学英语,一般写RxJava

2024-03-11

C++20 Rainer Grimm

Rainer Grimm 关于C++20 的pdf,找了很久。 覆盖C++20的4个领域,先小程序demo,然后深入讲解。一般学英语,一般枕头书

2023-09-27

迷你的英文单词录入和测试小程序-源码

迷你的英文单词录入和测试小程序-源码 创建一个console工程,NuGet添加rapidjson,以及sqlite3,并且把库路径设置好

2023-09-20

Modern C++ Programming with Test-Driven Development Code Better

请自行百度,知道的不会问,想要的直接下

2023-05-22

C++ 全英文电子书,C++ 11新特性

一般学英文,一边学C++

2023-05-22

OpenJDK8U-jre_x64_windows_hotspot_8u292b10.msi

openjdk8 安装包,整thingsboard用的

2021-06-02

TCP转虚拟串口驱动以及转发程序

1.安装驱动,驱动没有签名,需要关闭windows的签名机制 2.TCP2SerialPort.exe -s 192.168.10.168 -p 9000 #连接服务器和端口 3. 用虚拟串口打开虚拟串口,发送和接收数据 4.用简单tcp程序和驱动改写而成,有问题请留意

2019-07-02

VirtualSerial2um.zip

虚拟串口驱动,以及转发程序,转发程序目前只能做客户端,使用方法: 1. 安装驱动,最好关闭签名机制。 2. TCP2SerialPort.exe 连接服务器 3. 服务器发送的数据会转发到串口,用串口的数据也会透传到服务器

2019-07-02

bus hound log分析工具

分析bus hound的log,用于usb标准请求,mbim请求解析。

2019-02-15

mbn api 接口资料

MB Broadband接口的资料,从MS网站上拷贝下来整理成word,省得天天在网站上看。 一般开发windows上无限网络连接管理工具需要用这个。

2015-11-18

mod python

MOD_PYTHON Document;可以直接从MOD_PYTHON网站上下载。

2015-04-07

opencv 操作usb摄像头,灰度,二值化显示

MFC6.0 IplImage转成灰度显示,网上一般都是调色板,一个字烦

2014-12-20

cppcms以及必要的第三方库

cppcms以及必要的第三方库,可以用vs2005编译。编译方法参考cppcms官网

2014-02-22

TCP echo server

牛叉的tcp回显服务器,秒杀一切多线程tcp回显服务器,高端大气上档次;采用boost.asio技术

2014-01-02

DirectDraw7

DirectDraw7 SDK 下载了就能用

2013-08-06

DirectDraw7 document

IDirectDraw7的帮忙文档,很难得的

2013-08-06

360风格的自绘按钮

只能传demo,代码被公司加密了。哎 m_btn.LoadFacePng(IDR_PNG8,"PNG"); m_btn.LoadPressPng(IDR_PNG10,"PNG"); // m_btn.LoadDisablePng(IDR_PNG10,"PNG"); m_btn.LoadHoverPng(IDR_PNG9,"PNG"); m_btn.SetTooltipText("Hunter lv Tool tips!", TRUE); m_btn.SetMenu(IDR_MENU1, this->m_hWnd, TRUE); void PaintBk(CDC* pDC); BOOL LoadFacePng(UINT nID, LPCTSTR cType); //btn face image, load BOOL LoadDisablePng(UINT nID, LPCTSTR cType); BOOL LoadPressPng(UINT nID, LPCTSTR cType); BOOL LoadHoverPng(UINT nID, LPCTSTR cType); DWORD SetBk(CDC* pDC); DWORD EnableBalloonTooltip(); void InitToolTip(); void SetTooltipText(LPCTSTR lpszText, BOOL bActivate);

2012-11-13

wince6.0串口调试工具

wince6.0串口调试工具,没什么好介绍

2012-03-26

wince Pl2303驱动 usbser.dll

wince usbser.dll 直接build就可以了。

2012-03-07

ATLwindow 仿效深入解析的例子

学习ATL中~把书上例子自己看看写写~学习ing

2008-05-16

curve lines,atl集合类vb测试

atl集合类vb测试

2008-05-07

ATL写的Curve,Lines,line以及VB测试

ATL写的Curve,Lines,line

2008-05-07

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

TA关注的人

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