
C++
文章平均质量分 71
straka
这个作者很懒,什么都没留下…
展开
-
腾讯极客技术挑战赛(安全平台部):第一期题解
腾讯极客挑战赛:第一期题解原题:https://mp.weixin.qq.com/s/tZ9BmXfzGYpzrNm2Jl5Mrw#!/usr/bin/env python3# -*- coding: utf-8 -*-from Crypto.Cipher import AESimport base64import timeimport gzipfrom hashlib import md5import sysimport iosys.stdout = io.TextIOWra原创 2021-07-02 23:24:03 · 4210 阅读 · 2 评论 -
Onnxruntime c接口说明及 动态调用示例
Onnxruntime c接口说明及动态调用示例背景:需要onnx模型推理的功能,直接引用onnxruntime代码会引起编译问题。所以考虑动态加载onnxruntime的动态库完成。C++的接口依然需要源码依赖,所以考虑使用onnxruntime的c接口。1.How to access Onnxruntime C API:要访问c api,需要拿到 c api的函数指针,而onnxruntime 的所有capi定义在 一个结构体中:https://github.com/microsof原创 2020-08-02 18:19:08 · 4988 阅读 · 0 评论 -
onnxruntime评测模型精度不一致问题排查
gpu精度不一致问题追查在做模型转换相关工作,但是最近发现转换后的模型精度评测的时候会出现两次评测精度不一致, 模型转换是从caffe转换成量化后的onnx模型,中间会有几个临时模型,分别为original_onnx, 这个是直接转换的模型,一个optimized_onnx,是对原onnx模型进行结构优化/整合后的模型,另一个为quantized_onnx模型,既量化后的模型,我们发现对量化后对模型进行精度评测的时候,多次评测的结果不同,而且是同样的转换代码的情况下,同样的评测图片集,最终评测结果不一致,原创 2020-07-03 12:00:47 · 7952 阅读 · 1 评论 -
minGW cygWin 交叉编译总结
主要有两类方法:1、minGW cygWin等模拟了linux相关系统库对应windows中的实现,可以无需改动代码,但其中CygWin编译生成的程序要运行于windows还需额外的动态链接库cygwin1.dll等,效率上有些区别,而MinGW通过静态链接可以直接生成windows下运行的二进制文件。CygWin相当于通过动态链接模拟了Windows下的Linux运行环境,更彻底,更全面,而...原创 2020-04-28 12:37:56 · 1724 阅读 · 0 评论 -
windows上交叉编译
Architecture ARM - Linux:Linux tegra-ubuntu 4.4.38-tegra aarch64 : gcc 5.4.0 : cmake 3.5.1Unix makefile 编译通过, 包括编译选项-march=armv8-a 和-march=armv8-a+crypto-mcpu=cortex-a57+cryptoArchitectu...原创 2020-04-28 12:30:04 · 2397 阅读 · 0 评论 -
StarlingX 前世今生 -- (汇总了网上的一些资料)
背景要说StarlingX,首先要弄清楚其发展的背景,作为致力于边缘云的基础设施,可以从两个角度,一个是云计算的发展,另一个是边缘计算的发展云计算的发展经历了虚拟化→基础云-->云原生的发展,虚拟化时代的vmware领航着当时的云发展,通过VMware完成虚拟机资源的统一管理,显然这种方式有一定局限,必须采购VMware的商业产品,只能使用VMware虚拟机,性能也比较受...原创 2020-04-28 11:46:45 · 4093 阅读 · 0 评论 -
读写锁应用浅谈
关于读写锁,大家还争论不休,先把陈硕大佬总结的贴出来吧,大佬说的已经非常全面到位了这里我也总结下:1,读写锁一定比互斥锁(普通锁)单次加锁开销大,很容易理解,读写锁要做额外的引用计数已加锁读写性质判别,也做了benchmark,macbook pro i5 8g上,读写锁20ns,普通锁13ns左右2,读写锁容易误用,例如加了读锁结果进行了写操作3,读写锁的优势在于可以读并发,...原创 2020-04-12 16:25:17 · 1115 阅读 · 1 评论 -
Arduino UNO基于Timer2的舵机驱动库(精度比官方的高)
Arduino UNO基于Timer2的舵机驱动库(精度比官方的高)原博客格式更友好:http://www.straka.cn/blog/more-accurate-arduino-uno-timer2-servo-driver-library-than-official-one/事情是这样的,本来有个小车,想改装下,已经有的驱动板上引脚已经限定了用途和功能,最终的结果就是,如果我想用红外...原创 2020-01-30 17:13:55 · 4250 阅读 · 3 评论 -
Arduino红外发射的调频定时器设置
Arduino红外发射的调频定时器设置原博客格式更友好:http://www.straka.cn/blog/arduino-uno-infrared-emission-timer-setup/网上了解了下ARDUINO的定时器、中断、PWM、舵机控制,红外收发等相关知识。尤其是仔细阅读了AVR atmega328p,也就是ARDUINO UNO的芯片手册的定时器部分,其中有两点:AT ...原创 2020-01-30 17:06:20 · 1772 阅读 · 0 评论 -
C++封装的基于libevent的HTTP 服务器(含源码)
本想找个好用方便简单高效的c++ http服务器框架,看来看去也没看到有非常合适的,后面也就懒得纠结了,用libevent自带的http server功能吧,不过看了看接口,c语言的接口用起来还是不太方便,如果用户是用c++,还要管理大量的c层面的指针,buffer,结构体等,于是就想着封装成c++形式的,而且利用c++11以后的一些特性,可以完全屏蔽c的这些细节。原博客格式更友好:http:...原创 2019-08-18 19:33:26 · 5040 阅读 · 0 评论 -
centos上用cmake交叉编译树莓派版的dlib
原博客格式更友好:http://www.straka.cn/blog/cross-compile-dlib-for-raspberry-using-cmake/人工智能大火,自然大家都会想要在树莓派上跑个模型折腾折腾。在树莓派上有跑TF的,有跑CAFFE的,自然少不了dlib,想到dlib性能比较好,我也想在树莓派上试试dlib,但是网上查了半天,发下树莓派上跑dlib的,基本都是靠在树莓...原创 2019-04-20 10:57:43 · 5924 阅读 · 0 评论 -
浅谈深度学习模型如何保护--AES加密文件流的实现(带源码)
通常,我们会遇到项目中的一些数据、模型、资源文件保护问题,以防被人挪用,或者泄露流重要、敏感信息。本文即讨论这种外部资源文件的保护,以Windows环境下的模型文件的保护为例:(如果是linux,方法一不可行,只能将方法一用字节数组加载,参考https://blog.youkuaiyun.com/flyingleo1981/article/details/8193964)主要考虑两种方法,一种是将外部资源...原创 2020-03-27 08:42:24 · 3974 阅读 · 0 评论 -
php CURL 服务器响应慢的问题
用c++搭了个简单的http服务器,但是发现接收数据很慢,一个php服务器发送http请求,内容大概100k,千兆内网,百兆网卡,但总是需要1秒时间才能接受完请求报文,开始如下分析先看接收的http服务器代码clock_t start, end;int ctn = 0;start = clock();for(;;){ ctn++; DWORD EventCaused = WSAWait...原创 2018-06-23 14:20:09 · 10642 阅读 · 0 评论 -
windows GDI 控制台俄罗斯方块
蛮喜欢控制台小游戏,所以继上篇控制台贪吃蛇[http://www.straka.cn/blog/snake-game-by-windows-gdi/]之后又写了个控制台俄罗斯方块。方法类似,仍然是在消息循环处理函数中完成主要功能。不过俄罗斯方块比贪吃蛇稍微复杂一点在方块的绘制、变形和满行消除机制上。首先里面用到了几个全局变量, HWND hwnd;//handle of th...原创 2018-07-08 16:24:53 · 1269 阅读 · 1 评论 -
windows GDI 控制台小游戏flappy bird
曾经很火的小游戏flappy bird, 玩的都有点上瘾,如今在火车上无聊,也自己写一个简化版的。游戏的实现方法是在创建鸟和柱子的类,鸟始终在一个x坐标点上,高度y的变化符合自由落体,而柱子以恒定速度向-x方向移动,使得看起来鸟是以抛物线移动,每当按下空格,鸟就获得一个向上的速度,当纵向速度为0后开始加速下落。先看柱子的类 class Column{public: Co...原创 2018-07-08 16:29:14 · 1560 阅读 · 1 评论 -
日期间隔计算的探索
高效如题,高效精确的计算时间间隔(包含起始日,不含截止日)看似一个很简单的命题,实则不然,首先谈谈高效,也许大家首先想到的是循环判断每一年是否闰年,然后加上365天或者366天,最后减去起始日期的当年天数加上结束日期的当年天数。实现如下:计算起止年所含天数,包含起始年不含结束年。int CalDaysBetween(int yStart,int yEnd){ int days=0;int i;...原创 2018-07-02 16:18:13 · 3396 阅读 · 1 评论 -
mfc 绘图闪烁问题的探究
初学用windowsGDI进行界面绘制的时候经常会出现界面闪烁的问题,画面闪烁的直接原因是短时间内某部分的颜色的持续反差(这里的反差指肉眼可分辨的不同的颜色都称之彼此反差)变化,之所以要描述这么拗口,因为如果只是突然一两次的颜色反差变化,那只是颜色切换,画面只是变换了下,而颜色持续反差说的是闪烁部分的颜色在两个或多个差异较大的颜色之间来回变化,试想如果颜色一直变化但是缓慢过度,那么只是颜色渐变不会...原创 2018-07-09 16:18:47 · 1594 阅读 · 0 评论 -
windows GDI+ 绘图的简单封装
由于用mfc经常需要在界面上进行一些绘制输出,所以用windows GDI比较多,但是用windowsGDI 绘图比较麻烦,刚开始学的时候还经常弄不清一堆DC, Object, HANDLE到底是干啥的。后来就琢磨清楚了,但为了用起来更方便,就弄个类,这样画什么就直接调对应的函数和常用的控制参数,比如大小位置颜色,而不需要自己去操控上下文、绘制画笔画刷等等麻烦事,而且一个函数完成一个简单图形的绘制...原创 2018-07-09 16:22:29 · 2753 阅读 · 0 评论 -
一种windows下简单的USB摄像头图像获取方式
随着人工智能的大火,计算机视觉(computer vision)技术也热了起来,在很多所谓的人工智能领域大放光彩,尤其是模式识别,图像分类,而这也少不了对USB摄像头的图像的获取操作,然而我在起初寻找usb摄像头图像的获取方法时竟费了一番周折,通常的做法实在是不方便。一种常见的方法是用DirectShow, 这里有相关链接https://github.com/5455945/VideoCapt...原创 2018-07-04 12:25:51 · 15483 阅读 · 0 评论 -
windows GDI 编写控制台贪吃蛇
刚学windows GDI编程,对用代码实现绘图兴奋不已,于是便先参考网上的一份代码写了个简单的贪吃蛇练手。程序是以消息处理回调函数为核心,响应定时时间和按键消息,定时时间到则绘制蛇的移动已经死亡判断,而按键消息响应里进行蛇的移动操作以及游戏控制。先看主函数://------------ 以下初始化窗口类----------------int WINAPI WinMain(HINS...原创 2018-07-05 23:34:53 · 1528 阅读 · 0 评论 -
气象信息采集装置
由于单位地处偏远,没有可用的准确的天气预报,今年冬天雾霾又实在很重,于是就想自己做个硬件实时采集气象数据发到服务器,供微信订阅号查询。首先想到的是基于arduino平台,搭建各种传感器的数据采集端,通过联网模块发送至服务器(参见:生活小助手订阅号python后台),然后服务器对数据进行记录和格式处理,当打开微信订阅号发送查询请求时,服务器再将结果返回。硬件模块:温湿度模块,由于冬天室外可达零下十几...原创 2018-01-17 15:56:22 · 2293 阅读 · 0 评论